Commit Graph

2426 Commits

Author SHA1 Message Date
Clebert Suconic 032597dba3 ARTEMIS-4786 Avoid ConcurrentModificationException while queue.destroy in page
We observed this assert error in the netty collection used for acks:

java.lang.AssertionError: null is not a legitimate internal value. Concurrent Modification?
at io.netty.util.collection.IntObjectHashMap.toExternal(IntObjectHashMap.java:103) ~[netty-common-4.1.109.Final.jar:4.1.109.Final]
at io.netty.util.collection.IntObjectHashMap.access$900(IntObjectHashMap.java:37) ~[netty-common-4.1.109.Final.jar:4.1.109.Final]
at io.netty.util.collection.IntObjectHashMap$PrimitiveIterator.value(IntObjectHashMap.java:650) ~[netty-common-4.1.109.Final.jar:4.1.109.Final]
at io.netty.util.collection.IntObjectHashMap$2$1.next(IntObjectHashMap.java:234) ~[netty-common-4.1.109.Final.jar:4.1.109.Final]

this will avoid the cleanup and rely on GC for the cleanup.

PagingLeakTest is being added to make sure the cleanup is actually not needed.
2024-05-30 09:31:32 -04:00
iliya 6b5f78bfc4 ARTEMIS-4165 Delete messages in case of queue destroy
Messages should be acked even while paging. That will allow page transactions or anything else
to be cleared accordingly.
2024-05-30 09:31:32 -04:00
Clebert Suconic 6cd9c9730b [maven-release-plugin] prepare for next development iteration 2024-05-29 12:13:17 -04:00
Clebert Suconic 30ea6eeae0 [maven-release-plugin] prepare release 2.34.0 2024-05-29 12:13:16 -04:00
Clebert Suconic 7544667907 NO-JIRA Removing non used field on PostOfficeImpl 2024-05-28 21:09:26 -04:00
Clebert Suconic fa06b70134 ARTEMIS-4784 Large Messages should removed from HashMap on ReplicatioEndpoint after being closed 2024-05-28 21:04:33 -04:00
Justin Bertram acc64b184e ARTEMIS-4306 add authn/z cache metrics
This commit includes the following changes:

 - Management operations to get sucess & failure counts for authn and
   authz along with the corresponding audit logging.
 - Export the aforementioned authn & authz metrics.
 - Export metrics for the underlying authn & authz caches including the
   ability to enable/disable them.
 - Update metrics tests to validate tags in addition to keys and values.
 - Update documentation to explain new functionality and clarify
   existing metric tags.
2024-05-28 17:27:54 -04:00
Justin Bertram c47713454c ARTEMIS-4726 fix original commit
The original commit (1ee3e884b7) for this
issue wasn't completely correct. This commit fixes those issues so that
both the messageCount and scheduledMessageCount are accurate now when
a scheduled message is removed by its ID.
2024-05-23 12:56:45 -05:00
Justin Bertram 7e151ee1ce ARTEMIS-4768 _AMQ_SCHED_DELIVERY msg prop lost after broker restart 2024-05-22 14:10:37 -05:00
Justin Bertram 1ee3e884b7 ARTEMIS-4726 removing scheduled msg from q via mngmnt can cause negative msg count 2024-05-22 14:10:08 -05:00
Robbie Gemmell f64d918406 ARTEMIS-4778: rework tests manipulating Xxe config so it is reset after class, and not updated at all for skipped tests 2024-05-21 16:47:20 +01:00
Robbie Gemmell 98e1389a6e ARTEMIS-4778: clean up configuration test heirarchy, remove hundreds of duplicate tests, isolate parameterized tests 2024-05-21 16:47:20 +01:00
Robbie Gemmell 3474a39301 ARTEMIS-4772: fix build failure from modified PR #4935 commit f7b15e351e 2024-05-21 10:49:57 +01:00
m.napieraj f7b15e351e
ARTEMIS-4772 expose broker plugin classes via management 2024-05-20 13:54:33 -05:00
Clebert Suconic 49189cd7e6 ARTEMIS-4776 Pages may leak as open on Replicated Target
PagingStore is supposed to send an event to replica on every file that is closed.
There are a few situation where the sendClose is being missed and that could generate leaks on the target
2024-05-19 22:09:44 -04:00
Gary Tully f5973d53e6 ARTEMIS-4766 - validate type before newInstance calls 2024-05-17 16:33:08 +01:00
Gary Tully 2f77ca2abb ARTEMIS-4763 support .class values for non string attributes, properties config of metrics plugins 2024-05-17 16:33:08 +01:00
Clebert Suconic e47d8ea7c1 ARTEMIS-4774 Fixing PageCounters out of sync after AckMnager retries 2024-05-17 09:47:34 -04:00
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