2408 Commits

Author SHA1 Message Date
Clebert Suconic
22540cc3ab ARTEMIS-4773 Performance improvement on page.sync
the sync should be called outside of the lock.
if the file was already closed it should then just be ignored as the data was locked anyway.
2024-05-17 09:47:34 -04:00
Clebert Suconic
cd563b49ad ARTEMIS-4765 DuplicateIDCache on Mirror Target is using 20K elements instead of amqpCredits
in this commit I'm storing a binding record with the address-settings for the correct size
this is also validating eventual merges of the AddressSettings in the same namespace.
2024-05-09 15:02:15 -04:00
Justin Bertram
2a43c53bb2 ARTEMIS-4759 restore compatibility with LiveOnlyPolicyConfiguration 2024-05-09 14:03:49 -04:00
Clebert Suconic
abb1a7739e Reverting ARTEMIS-4765
I am gettig a few test failures when running the server in soak with Mirroring.
I will reapply the changes after some testing.
2024-05-07 22:09:33 -04:00
Clebert Suconic
355c600ea8 ARTEMIS-4765 DuplicateIDCache on Mirror Target is using 20K elements instead of amqpCredits 2024-05-07 20:42:10 -04: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
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