Commit Graph

2759 Commits

Author SHA1 Message Date
Clebert Suconic 342565d4c1 ARTEMIS-3850 Eliminate Page Soft Cache. Add Option to read messages based on sizing. 2022-06-14 14:53:14 -04:00
Justin Bertram c9208aafda ARTEMIS-3851 MQTT sub q exists after restart despite CleanSession=1
MQTT 3.1 and 3.1.1 clients using a clean session should have a
*non-durable* subscription queue. If the broker restarts the queue
should be removed. This is due to [MQTT-3.1.2-6] which states that the
session (and any state) must last only as long as the network
connection.
2022-06-14 14:48:45 -04:00
Clebert Suconic 3002dcefec NO-JIRA Removing ThreadRuleCheck from CompatibilityTests
This is taking too long to fininsh in certain tests. Since it's not really needed I am removing it.
2022-06-13 14:36:52 -04:00
Clebert Suconic cf2f9b4ffd ARTEMIS-3305 Compatibility tests dont work with Java 16+ 2022-06-10 17:00:27 -04:00
Clebert Suconic a3997380c7 NO-JIRA removing test-ng from groovy 2022-06-09 14:08:12 -04:00
Robbie Gemmell 88bb733232 ARTEMIS-3410: also disable related test in integration-tests module on Java 16+ for now 2022-06-09 17:28:10 +01:00
Robbie Gemmell 8ee5253281 NO-JIRA: remove ancient exclusion that doesnt match anything in the module 2022-06-09 17:11:35 +01:00
Robbie Gemmell 4581ea5f45 NO-JIRA: remove redundant test exclude for test removed/fixed in 2016 in fa67d40b9d 2022-06-09 17:08:49 +01:00
Robbie Gemmell 0c5e83b76a ARTEMIS-3854: use Process.pid() rather than reflection 2022-06-08 15:06:04 +01:00
Clebert Suconic 0fab0dae91 [maven-release-plugin] prepare for next development iteration 2022-06-07 12:39:09 -04:00
Clebert Suconic 224ca0d4d7 [maven-release-plugin] prepare release 2.23.0 2022-06-07 12:39:07 -04:00
Clebert Suconic a2dd805a2f ARTEMIS-3848 High CPU usage on ReadWriteLocks
This is caused by too many entries on the HashMap for ThreadLocals.
Also: I'm reviewing some readlock usage on the StorageManager to simplify things a little bit.
2022-05-25 12:27:57 -04:00
clebert f14ba5f742 NO-JIRA removing useless assertionRemainingMessages
JMSTestCase is deprecated anyway.
in its older form many many years ago a server would be reused over
between tests.

what forced us to make such verification to avoid messages from one test
leaking into the next.

This was because a server startup was expensive many years ago (less
efficient code and the hardware available 10 years ago)

with the current state of things this is not needed as the server will
be started from scratch on every test
2022-05-25 12:27:57 -04:00
Justin Bertram 3c6f42b12a ARTEMIS-3808 fix tests 2022-05-24 21:47:42 -04:00
Clebert Suconic b3640c9ae8 NO-JIRA Improving PagingFailoverTest with Wait.assertFalse 2022-05-23 17:49:24 -04:00
Clebert Suconic f9ec449ac4 NO-JIRA Simplifying PageCleanupWhileReplicaCatchupTest
This test is consuming too much resource and time on CI machines. Just a simplification.
2022-05-23 16:14:01 -04:00
AntonRoskvist 548747c71d
ARTEMIS-3827 anon OpenWire producer may lose sent msg 2022-05-23 13:11:15 -05:00
Justin Bertram 466597e83b
ARTEMIS-3822 get broker name via management 2022-05-23 12:03:32 -05:00
Justin Bertram 974bd5f6e1
ARTEMIS-3808 support start/stop embedded web server via mngmnt
It would be useful to be able to cycle the embedded web server if, for
example, one needed to renew the SSL certificates. To support
functionality I made a handful of changes, e.g.:

 - Refactoring WebServerComponent so that all the necessary
   configuration would happen in the start() method.
 - Refactoring WebServerComponentTest to re-use code.
2022-05-23 10:57:49 -05:00
Clebert Suconic 9b959c2fec ARTEMIS-3837 Adding support for AMQPLargeMessage.getData() 2022-05-18 08:48:08 -04:00
Gary Tully b390a6b08f ARTEMIS-3835 - deprecate addressesSettings in place of addressSettings on the Configuration bean 2022-05-18 08:13:17 +02:00
Domenico Francesco Bruscino f632e8104b ARTEMIS-3833 Preserve JMSCorrelationID of distributed AMQP large messages 2022-05-17 10:13:55 -04:00
Clebert Suconic f58db5a054 ARTEMIS-3836 PrintData may miss messages if cleanup happened in the middle of the stream 2022-05-17 09:06:47 -04:00
Domenico Francesco Bruscino 5c4d839d2d NO-JIRA Fix QueuesTest after ARTEMIS-3773 2022-05-11 09:09:14 -04:00
Justin Bertram 446ff61542
ARTEMIS-3770 refactor MQTT handling of client ID
It would be useful for security manager implementations to be able to
alter the client ID of MQTT connections.

This commit supports this functionality by moving the code which handles
the client ID *ahead* of the authentication code. There it sets the
client ID on the connection and thereafter any component (e.g. security
managers) which needs to inspect or modify it can do so on the
connection.

This commit also refactors the MQTT connection class to extend the
abstract connection class. This greatly simplifies the MQTT connection
class and will make it easier to maintain in the future.
2022-05-09 14:51:06 -05:00
Clebert Suconic e420eb4732 ARTEMIS-3817 SchedulePageCleanup operation on AddressControl 2022-05-09 09:17:56 -04:00
iliya 0b321ab8ff ARTEMIS-3759 Add mirror controller address filter support
Allow replication only certain addresses with mirror controller.
The configuration is similar to cluster address configuration.

Co-authored-by: Robbie Gemmell <robbie@apache.org>
2022-05-04 21:25:58 -04:00
Robbie Gemmell 8786bc9e5e ARTEMIS-3814: update activemq deps to 5.17.1 2022-05-04 13:25:17 +01:00
Clebert Suconic 784b0e967e ARTEMIS-3810 Do not throw error resuming already active XA Transaction 2022-05-02 14:45:07 -04:00
Clebert Suconic 1dbbad5582 NO-JIRA stopping object on finalize on openWire test
trying to avoid a few test failure seen on CI
2022-04-29 08:34:25 -04:00
Clebert Suconic 48cd586ac5 ARTEMIS-3807 Simplify Redistributor avoid races, and fix ProtocolMessageLoadBalancingTest
The control existing in Redistributor is not needed as the Queue::deliver will already have a control on re-scheduling the loop and avoid holding references for too long.
2022-04-29 08:24:06 -04:00
Clebert Suconic 57fa8b8271 [maven-release-plugin] prepare for next development iteration 2022-04-27 17:26:46 -04:00
Clebert Suconic 1a49845628 [maven-release-plugin] prepare release 2.22.0 2022-04-27 17:26:45 -04:00
Domenico Francesco Bruscino eb6264239e ARTEMIS-3803 Fix first NetworkHealthCheck execution
The NetworkHealthCheck hasn't to execute the default command if a custom
command is defined.
2022-04-26 17:11:48 -04:00
Clebert Suconic 1946351fce ARTEMIS-3802 Avoiding races on deleteWithID and Iterator.remove 2022-04-26 12:03:30 -04:00
Clebert Suconic 6a3df6412b NO-JIRA Fixing Thread Leakage on test from UDP thread
When running a UDP connection factory you have to either keep it running, or close it so the UDP thread is closed.
this is an issue for the testsuite as we validate for leaked threads. This needs to be fixed on the test.
2022-04-26 11:52:12 -04:00
Clebert Suconic ed5ae2c3a2 ARTEMIS-3800 Fixing failing test 2022-04-25 21:53:56 -04:00
Justin Bertram 506d59db03 ARTEMIS-3801 not getting messages on MQTT subscriptions with $ 2022-04-25 21:41:20 -04:00
Justin Bertram bcfff61e17 ARTEMIS-3800 allow CLI to delete address with queues 2022-04-25 15:39:44 -04:00
Clebert Suconic 28513e048f ARTEMIS-3753 Small Improvement on RouterContext.internalOnly calculation 2022-04-23 11:20:48 -04:00
iliya 99302b1935 ARTEMIS-3753 Prevent sending message to internal queues on mirror
In cluster configuration messages could be routed to internal queues for
further delivering on different broker. We need to check that before
sending to SNF, otherwise message can stuck on target server and will
never receive ACK.

co-author: Clebert Suconic

Discusssions on https://github.com/apache/activemq-artemis/pull/4012 and https://github.com/apache/activemq-artemis/pull/4038
2022-04-23 10:13:21 -04:00
Clebert Suconic c6bfe34f9e ARTEMIS-3756 Removing test that is now invalid 2022-04-22 11:29:17 -04:00
Emmanuel Hugonnet 52a4157bbb [ARTEMIS-3756]: Enabling extra parameters to be passed by the URI.
* passing the full list of parameters when creating the URI.
 * moving the WARN message to DEBUG when unknown parameters are
   received.

Jira: https://issues.apache.org/jira/browse/ARTEMIS-3756
2022-04-21 19:00:55 -04:00
Justin Bertram 97b4f6a578 ARTEMIS-3788 don't send MQTT will message if will flag = false 2022-04-21 16:38:27 -04:00
Justin Bertram 96fa98fc93 ARTEMIS-3789 respect session expiry interval on MQTT disconnect message 2022-04-21 15:33:56 -04:00
Clebert Suconic d1e1faacc4 ARTEMIS-3791 Openwire failover leaving sessions leaked 2022-04-21 14:43:09 -04:00
Justin Bertram c5f45ee44d ARTEMIS-3781 send PUBREC on duplicate PUBLISH for MQTT QoS 2
The MQTT 5 (and 3.1.1) specification states:

    Until it has received the corresponding PUBREL packet, the receiver
MUST acknowledge any subsequent PUBLISH packet with the same Packet
Identifier by sending a PUBREC. It MUST NOT cause duplicate messages to
be delivered to any onward recipients in this case [MQTT-4.3.3-10].

The broker prevents a duplicate message, but it doesn't respond with a
PUBREC. This commit fixes that.
2022-04-20 12:01:47 -04:00
Justin Bertram 40a191379b ARTEMIS-3775 don't carry forward MQTT topic aliases to new connection 2022-04-18 21:10:49 -04:00
Justin Bertram 7d11cf81ba ARTEMIS-3777 fix MQTT request/response + nolocal
Removing the connection ID property from the actual *message* breaks the
nolocal functionality. Removing the property isn't necessary in the
first place so this commit reomves that code.
2022-04-18 18:26:05 -04:00
iliya 20370d2920 ARTEMIS-3751 Do not override large message size
It is possible to receive a compressed message from the client as regular message. Such a message will already contain correct body size, that takes compression into account.
2022-04-18 15:01:44 -04:00