Commit Graph

3294 Commits

Author SHA1 Message Date
Clebert Suconic 3c46871f79 ARTEMIS-4743 Allow single line header option
This option would restore the previous presentation form without the line
split on the header.

Also some improvements on loop options
2024-05-06 16:56:48 -04:00
Clebert Suconic f9e2f09207 ARTEMIS-4762 NPE when running 'artemis queue stat' against older server 2024-05-06 16:56:48 -04:00
Justin Bertram eac816f6bd ARTEMIS-4751 upgrade to Apache parent 32
Due to https://github.com/apache/maven-apache-parent/pull/188 the
property `maven.compiler.release` is now being set which precludes
exporting and using any internal Java classes. Therefore this commit
removed references to `--add-exports` from the build, switches to
reflection, and adds `--add-opens` to the runtime JVM parameters.
2024-05-06 13:26:17 -05:00
Clebert Suconic c523458a9a ARTEMIS-4758 Hardening Mirroring
This is a list of improvements done as part of this commit / task:

* Page Transactions on mirror target are now optional.

If you had an interrupt mirror while the target destination was paging, duplicate detection would be ineffective unless you used paged transactions
Users can now configure the ack manager retries intervals.
Say you need some time to remove a consumer from a target mirror. The delivering references would prevent acks from happening. You can allow bigger retry intervals and number of retries by tinkiering with ack manager retry parameters.

* AckManager restarted independent of incoming acks

The ackManager was only restarted when new acks were coming in. If you stopped receiving acks on a target server and restarted that server with pending acks, those acks would never be exercised. The AckManager is now restarted as soon as the server is started.
2024-05-02 17:23:28 -04:00
Timothy Bish d7a7116a4c ARTEMIS-4754 Structure the names used for federation internal queues
When creating internal temporary queues for the federation control links and the
events link we should use a structured naming convention to ease in configuring
security for the federation user where all internal names fall under a root prefix
which can be used to grant read and write access for the federation user. This
change allows security on the wildcarded address "$ACTIVEMQ_ARTEMIS_FEDERATION.#".
This change also includes some further restrictions added to federation resources
and adds support for wildcarding '$' prefixed addresses.
2024-05-02 15:54:13 +01:00
Justin Bertram 8b73335b46 ARTEMIS-4752 upgrade ErrorProne to 2.27.0
The upgraded ErrorProne found some new issues so this commit fixes those
as well.
2024-05-02 10:10:17 +01:00
Clebert Suconic 817dc41ed4 NO-JIRA Test validating multiple mirrors connected to a node 2024-04-30 22:48:38 -04:00
Justin Bertram 614b5cb32f ARTEMIS-1769 return JMS Session's ClientID via JMX 2024-04-27 09:38:54 -05:00
Justin Bertram fc6f0ee9ec ARTEMIS-4740 reduce unnecessary boxing 2024-04-27 09:36:05 -05:00
Timothy Bish 659b17c3a9 ARTEMIS-4745 Allow configuration of the pull consumer batch size
Allow for configuration of the batch size granted to the remote when an
AMQP federation queue receiver is pulling messages only when there is
local capacity to handle them. Some code housekeeping is done here to
make adding future properties a bit simpler and require fewer changes.
2024-04-26 16:29:17 +01:00
Timothy Bish ee7a2c0944 ARTEMIS-4744 Fully support multple host broker connections URIs
Create a new NettyConnector for each connection attempt that is configured from
distinct broker connection URIs which allows for differing TLS configuration
per remote connection configuration.
2024-04-25 18:29:30 +01:00
Clebert Suconic 07ba37a74a Revert "NO-JIRA Test validating multiple mirrors connected to a node"
This reverts commit bf81e5fe31.
2024-04-23 23:04:04 -04:00
Clebert Suconic 1e29602158 ARTEMIS-4733 Fixing test as it is now correctly ignoring MQTT internal queue 2024-04-23 22:44:09 -04:00
Clebert Suconic bf81e5fe31 NO-JIRA Test validating multiple mirrors connected to a node 2024-04-23 22:43:51 -04:00
Justin Bertram f7288c16a6 ARTEMIS-4742 decoding PersistedSecuritySetting fails after upgrade 2024-04-23 10:35:20 +01:00
Clebert Suconic 86f7250d1c ARTEMIS-4733 Fixing test as it is now correctly ignoring MQTT internal queue 2024-04-22 13:29:24 -04:00
Gary Tully 20f345dbe1 ARTEMIS-4709 plugin to enforce connection periodic expiry per acceptor 2024-04-22 10:19:51 -05:00
Gary Tully a4d1f7084d ARTEMIS-4582 - fix typo in smoke test comment 2024-04-22 14:29:16 +01:00
Clebert Suconic 44e78d42a2 ARTEMIS-4733 Internal queues should not be mirrored 2024-04-22 00:06:07 -04:00
Clebert Suconic fdf2ea874b ARTEMIS-4733 Infinite mirror reflections after CreateAddress 2024-04-20 11:07:14 -04:00
Clebert Suconic 09dc445071 ARTEMIS-4731 removing System.out left by accident 2024-04-19 10:36:46 -04:00
Clebert Suconic 6fe53b813a ARTEMIS-4731 OpenWireConnection exception listener should call transport.close();
this is causing a leak for server objects
2024-04-19 00:57:16 -04:00
Justin Bertram 791630fa86 ARTEMIS-1921 setting client ID on core JMS should be reflected in broker RemotingConnection 2024-04-18 11:46:13 +01:00
Clebert Suconic a1c6a5c3b6 NO-JIRA making test more reliable 2024-04-17 18:49:03 -04:00
Clebert Suconic e4a6687cd4 ARTEMIS-4723 Avoid objects left on ThreadLocal from OrderedExecutorFactory
co-authored: Jakob van Kruijssen <cardamon@gmail.com>
2024-04-17 14:19:12 -04:00
Clebert Suconic c0cf01f914 NO-JIRA Speeding up ReceiverNoWaitTest
This test is using 1000 repetitions, each repetition sending 100 messages, which is not really needed on this case.
2024-04-17 11:07:00 -04:00
Clebert Suconic 8880ae92d9 ARTEMIS-4725 Fixing intermittent failure on test 2024-04-16 21:26:01 -04:00
Clebert Suconic eb7b0b0946 ARTEMIS-4725 Mirroring tests using multiple versions 2024-04-16 14:52:59 -04:00
Justin Bertram a1db72395c ARTEMIS-1691 JMS bridge can't be manually restarted after failure 2024-04-15 23:49:13 -04:00
Justin Bertram f64e37622e ARTEMIS-1551 validate properties between JMS clients 2024-04-12 12:02:57 -05:00
Clebert Suconic 375397b811 NO-JIRA Compatiblity test for Mirroring
just keeping a test I wrote for investigating a non issue
2024-04-11 18:39:50 -04:00
Clebert Suconic 162c4f6655 ARTEMIS-4498 Making queues always manageable 2024-04-11 10:28:04 -04:00
a181321 51f39fc34d ARTEMIS-4498 Expose internal queues for management and observability 2024-04-11 10:28:04 -04:00
Clebert Suconic 33599f7727 ARTEMIS-4675 fix and improving test 2024-04-10 17:46:25 -04:00
Justin Bertram 6976c075be
ARTEMIS-4675 fix test 2024-04-10 13:27:12 -05:00
AntonRoskvist a723f634a2 ARTEMIS-4718 Diverted messages are not propertly routed on cluster remote bindings 2024-04-08 14:29:59 -04:00
AntonRoskvist 6c02950db3 ARTEMIS-4510 Add auto-create-destination logic to diverts 2024-04-08 10:53:07 -04:00
Timothy Bish 2c3f772645 ARTEMIS-4666 Correctly set queue match when parsing XML confing
Correct the XML parser for core federation queue match policy loading
to call the setQueueMatch instead of setAddressMatch when reading the
queue match element.
2024-04-05 09:00:04 -07:00
Clebert Suconic 04f6424928 ARTEMIS-4694 Redistribution issues with Almost Large Header
Redistribution would add data to the record which would then in turn make the record too large to redistribute.

The Redistributor and Bridges should not be removed.

Also a warning should be added to warn users about the situation.
2024-04-01 15:39:41 -04:00
Domenico Francesco Bruscino 3598177734 ARTEMIS-4697 Auto reload SSL PEM config sources on change 2024-03-25 14:26:42 +01:00
Justin Bertram 2cc3704551 [maven-release-plugin] prepare for next development iteration 2024-03-19 15:22:47 -05:00
Justin Bertram 900d217bf9 [maven-release-plugin] prepare release 2.33.0 2024-03-19 15:21:32 -05:00
Clebert Suconic 499a4eab6b ARTEMIS-4691 log.warn on inVM closing 2024-03-18 13:31:48 -05:00
Justin Bertram 50fae08b09 ARTEMIS-4657 support better correlation ID compat b/w JMS clients 2024-03-18 13:19:22 +00:00
Gary Tully 2e17a4a007 ARTEMIS-4582 - view and edit permissions, mops. security-settings for rbac on management apis 2024-03-15 16:40:45 +00:00
Justin Bertram 576622571a ARTEMIS-4559 refactor HA docs & code/module naming
This commit does the following:

 - Updates HA docs including the chapter on network isolation (i.e.
   split brain). The network isolation chapter is now more about
   high-level explanation and the HA doc now has all the configuration
   parameters.
 - Changes references to "pluggable quorum voting" to "pluggable lock
   manager." The pluggable functionality really isn't about voting.
   Conceptually is much more like the functionality you'd get from a
   distributed lock so this naming is more clear. Both the docs and the
   code have been changed.
 - Reorganize lock manager modules as sub-modules. The API and RI
   modules are renamed, but that should be OK based on the
   "experimental" tag that's been on this feature up to this point.
 - Remove the "experimental" tag from the lock manager.

These changes will not break folks using the standalone broker. However,
they will break folks embedding the broker *if* they are using the
artemis-quorum-ri or artemis-quorum-api modules or the
o.a.a.a.c.c.h.DistributedPrimitiveManagerConfiguration class.

There are no functional changes here. Renaming these modules is more a
conceptual change to facilitate better documentation and increased
adoption.
2024-03-15 10:18:05 -04:00
Clebert Suconic 82c4df180e ARTEMIS-4690 Remove storageManager.addAddressSettings from the codebase 2024-03-14 13:38:28 -04:00
Justin Bertram 57ed2c30b3 ARTEMIS-4686 reduce number of FilterImpl instances
Whenever we create a queue with a filter we're instantiating 3 different
`org.apache.activemq.artemis.core.filter.impl.FilterImpl` objects. This
is wasteful and entirely avoidable.
2024-03-14 13:27:23 -04:00
Justin Bertram cb2b293810 ARTEMIS-4647 use specified call-timeout on backup connector 2024-03-13 23:22:31 -04:00
Justin Bertram 93e0826a38 ARTEMIS-4687 concurrent use of DocumentBuilder breaking Xpath filtering 2024-03-13 23:22:14 -04:00