Commit Graph

2403 Commits

Author SHA1 Message Date
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
Justin Bertram b209dd013d ARTEMIS-1769 mitigate null 2024-05-02 16:42:11 +01: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
Clebert Suconic 5d5b2febf0 NO-JIRA fixing log.trace 2024-04-30 14:24:17 -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
Justin Bertram 934fe24e5c ARTEMIS-4734 mitigate NPE in ReplicationManager 2024-04-25 12:18:50 -05:00
Justin Bertram f7288c16a6 ARTEMIS-4742 decoding PersistedSecuritySetting fails after upgrade 2024-04-23 10:35:20 +01:00
Gary Tully 20f345dbe1 ARTEMIS-4709 plugin to enforce connection periodic expiry per acceptor 2024-04-22 10:19:51 -05:00
Clebert Suconic fdf2ea874b ARTEMIS-4733 Infinite mirror reflections after CreateAddress 2024-04-20 11:07:14 -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 162c4f6655 ARTEMIS-4498 Making queues always manageable 2024-04-11 10:28:04 -04:00
Clebert Suconic 7702b39374 ARTEMIS-4498 Adding internal column on address view 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
Justin Bertram b2ffe9ff57
ARTEMIS-1634 unintentional integer overflow 2024-04-10 22:42:29 -05:00
Clebert Suconic 48f17e9986 ARTEMIS-4718 Diverted messages are not propertly routed on cluster remote bindings
I commented the fix to validate the test and I accidently committed the commented out version
2024-04-10 12:27:09 -04:00
Alvin Kwekel b9c919821b
ARTEMIS-4675 Add replication status metrics 2024-04-09 16:30:36 -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
Justin Bertram baa8710fa2 ARTEMIS-4712 remove LDAP connection pooling 2024-04-05 09:28:05 -04:00
Justin Bertram 0fad7ece87 ARTEMIS-4714 mitigate NPE in FederatedQueueConsumerImpl MessageListener 2024-04-05 09:27:54 -04:00
Justin Bertram da9695a5f6 ARTEMIS-4704 eliminate unnecessary variable in ReplicationManager 2024-04-04 17:26:54 -04:00
Justin Bertram f36e944641 ARTEMIS-4698 mitigate NPE when removing metrics 2024-04-01 16:11:46 -05: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 774d321012 ARTEMIS-4696 Deprecate queue prefetch address setting 2024-03-27 17:33:43 +01:00
Gary Tully 625bdfce6e ARTEMIS-4699 properties config don't try and imply the factoryClassName of a transport config object, fix up fluent builder and improve mirror usability 2024-03-27 09:15:24 +00: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
aslepykh bc86a0a481
ARTEMIS-4695 BAD_COPY_PASTE in ActiveMQScheduledLeaseLock.java
In the detectAndReportRenewSlowness() method, the logger.error() and
logger.warn() methods are called 3 times.

In two of the three calls, the method arguments correspond to parameters
that are tested in the if() conditional construct.

Also, the arguments of the logger.error() and logger.warn() methods are
identical in lines 139 and 141, respectively, which may indicate that
they were copied incorrectly.
2024-03-19 13:55:56 -05:00
Clebert Suconic 308aed3060 ARTEMIS-4691 Fixing LockManagerBackupSyncJournalTest
Fixing a few intermittent failures
2024-03-18 17:36:35 -04: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
Gary Tully 49013aa5bd ARTEMIS-4690 fix java doc generation 2024-03-14 20:53:52 +00: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
Domenico Francesco Bruscino 61b9753f80 ARTEMIS-4679 Config HA policy by using broker properties 2024-03-13 17:25:57 -04:00
Clebert Suconic d864780293 ARTEMIS-4684 Internal queues should not redistribute 2024-03-13 17:01:08 -04:00
Clebert Suconic 11b7671960 ARTEMIS-4684 Internal Queues should not redistribute
This is particularly true for the Mirrored SNF queue. Redistribution is not meant for internal queues. If an internal queue happens to have the same name on another server, it should not trigger redistribution when consumers are removed.

It would be possible to work around this by adding an address-setting specific to the address with redistribution disabled.

ClusteredMirrorSoakTest was intermittently failing because of this. For a few seconds while the mirror connection is still being made connections could move messages from one node towards another node if both have the same name.
2024-03-13 09:26:47 -04:00
Clebert Suconic 21368cf741 ARTEMIS-4678 JDBC User and password not used by CLI 2024-03-08 18:23:48 -05:00
Clebert Suconic fd1ef367d3 ARTEMIS-4670 Slow processing with Large Messages and JDBC 2024-03-07 13:09:58 -05:00
Jan Šmucr 3c580c9351 ARTEMIS-4579 Add `peekFirstMessage*` and `peekFirstScheduledMessage*` functions 2024-03-07 10:45:14 -06:00
AntonRoskvist 45533c38da ARTEMIS-4664 - autoCreatedResource can get removed while receiving batch of messages 2024-03-07 10:45:41 -05:00
Clebert Suconic 5ce70f9e37 ARTEMIS-4669 Clarify Storage Manager usage around large messages 2024-03-05 17:27:18 -05:00
Justin Bertram 661a4e6fdc ARTEMIS-4655 report logging metrics
It may be useful to configure alerts for ERROR or WARN events in the log
which may go unnoticed otherwise.
2024-03-05 09:37:11 +00:00
Clebert Suconic b5791344b4 ARTEIS-4651 Speeding up delivery resume when SNF is paged 2024-03-04 10:47:12 -05:00
Clebert Suconic db94b18b73 ARTEMIS-4651 Performance improvements on Mirror and Paging 2024-02-26 11:01:04 -05:00