10594 Commits

Author SHA1 Message Date
Robbie Gemmell
7849e2dcbf ARTEMIS-4778: extract base class and classes from parameterized test with subclass that skips to de-parameterize itself 2024-05-21 16:47:20 +01:00
Robbie Gemmell
3c84f26413 ARTEMIS-4778: split two Nested test classes (one parameterized, other not) into their own class files 2024-05-21 16:47:20 +01:00
Robbie Gemmell
243ea9aa01 ARTEMIS-4778: remove spawn check rule, not needed as the tests dont spawn 2024-05-21 16:47:20 +01:00
Robbie Gemmell
3e20687cf3 ARTEMIS-4778: replace various assertEquals checks with more apropriate assertTrue / assertFalse / assertNull 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
Justin Bertram
3c058e98f1 ARTEMIS-3622 MQTT can deadlock on client cxn/discxn
This commit fixes the deadlock described on ARTEMIS-3622 by moving the
synchronization "up" a level from the MQTTSession to the
MQTTConnectionManager. It also eliminates the synchronization on the
MQTTSessionState in the MQTTConnectionManager because it's no longer
needed. This change should not only eliminate the deadlock, but improve
performance relatively as well.

There is no test associated with this commit as I wasn't able to
reproduce the deadlock with any kind of straight-forward test. There was
a test linked on the Jira, but it involved intrusive and fragile
scaffolding and wasn't ultimately tenable. That said, I did test this
fix with that test and it was successful. In any case, I think static
analysis should be sufficient here as the changes are pretty
straight-forward.
2024-05-21 15:15:44 +01:00
Robbie Gemmell
3474a39301 ARTEMIS-4772: fix build failure from modified PR #4935 commit f7b15e351ef712213e0db1d072a2f0ce84f7bb8e 2024-05-21 10:49:57 +01:00
Justin Bertram
7067b75670
NO-JIRA clarify expiry config doc 2024-05-20 15:08:53 -05:00
Justin Bertram
a88eba2bdb
This closes #4935 2024-05-20 14:33:50 -05:00
m.napieraj
f7b15e351e
ARTEMIS-4772 expose broker plugin classes via management 2024-05-20 13:54:33 -05:00
coursar
1de617e503 NO-JIRA: fix docs locator.createClientSessionFactory should be locator.createSessionFactory 2024-05-19 22:20:08 -04: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
ae5d98337f NO-JIRA Improve a specific QueueControlTest
There is no need to use our own AddressSettings extension here.
This is just simplifying the test.
2024-05-15 11:55:01 -04:00
Gary Tully
23522fd83d NO-JIRA fix intermittent failure, this test failed on local repeat getting a null from immediate 2024-05-11 20:45:13 -04:00
Clebert Suconic
e78136b429 ARTEMIS-4743 Renaming --loop-sleep as just --sleep
Notice that I'm keeping the old argument here as hidden
As I keep using this myself, my brain always go to ./artemis queue stat --sleep

So, I think people would feel more comfortable if the parameter was renamed.
2024-05-10 17:03:10 -04:00
Frederico Alves
77076452f2 ARTEMIS-4770: Upgrade BouncyCastle to 1.78
This closes #4927
2024-05-10 14:48:46 +01:00
Robbie Gemmell
daf37ab0e1 ARTEMIS-4769: update to pem-keystore 2.4.0 2024-05-10 14:47:43 +01: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
946d3338b3 ARTEMIS-4765 Adjusting test parameters 2024-05-07 20:51:31 -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
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
Justin Bertram
e8f449973a ARTEMIS-4755 upgrade Jackson to 2.17.0 2024-05-06 13:26:08 -05:00
Justin Bertram
d568f0dd85 ARTEMIS-4753 upgrade Checkstyle to 10.16.0 2024-05-06 13:25:59 -05:00
Justin Bertram
cb69d2b2f9 ARTEMIS-4756 upgrade Commons IO to 2.16.1 2024-05-06 13:25:50 -05:00
Justin Bertram
732b6dbcda ARTEMIS-4757 upgrade Netty to 4.1.109.Final 2024-05-06 13:25:42 -05:00
Clebert Suconic
23ca774f43 NO-JIRA fixing logger.info as logger.debug 2024-05-06 08:59:07 -04:00
Justin Bertram
b2486db000
NO-JIRA clarify docs around queue auto-creation 2024-05-03 11:51:17 -05:00
Clebert Suconic
054f7e2e85 ARTEMIS-4743 Improve Queue Stat output by allowing --loop as an option 2024-05-02 17:53:47 -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
afd7951eb2 ARTEMIS-4749 simplify switch in ThreadDumpUtil 2024-05-02 15:38:05 -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
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
14e83faa1b ARTEMIS-4750 AMQP Large Message flow control to use runAfter
The resume delivery on AMQP Large Message Writer is using runNow.
When a flow control is paused and then resumed, the runNow will make the first read to happen inline to the thread that's resuming other deliveries.
It would be better to not run the delivery within the same call. Hence the change here is simple, being just using a connection.runLater instead of runNow.
I have seen this on a thread dump from a production server.
No semantic issues were encountered but there was a theory that the Netty thread responsible to resume would be busy with a delivery when not supposed to.
Better to be safe on this case.
2024-05-01 13:51:04 -04:00
Clebert Suconic
817dc41ed4 NO-JIRA Test validating multiple mirrors connected to a node 2024-04-30 22:48:38 -04:00
Clebert Suconic
5d5b2febf0 NO-JIRA fixing log.trace 2024-04-30 14:24:17 -04:00
Clebert Suconic
b50f01b02b ARTEMIS-4746 Simplifying switch case on JMSExceptionHelper 2024-04-28 15:42:27 -05: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
Justin Bertram
934fe24e5c ARTEMIS-4734 mitigate NPE in ReplicationManager 2024-04-25 12:18:50 -05:00