Commit Graph

2412 Commits

Author SHA1 Message Date
Clebert Suconic 79daf49105 [maven-release-plugin] prepare for next development iteration 2022-07-21 17:44:35 -04:00
Clebert Suconic cc4867ccba [maven-release-plugin] prepare release 2.24.0 2022-07-21 17:44:33 -04:00
AntonRoskvist e56b5ff53f ARTEMIS-3840 Core bridges with concurrency > 1 will get removed on config reload 2022-07-21 12:36:08 -04:00
Justin Bertram 14a4446ec1
ARTEMIS-3892 fix test 2022-07-21 10:53:07 -05:00
Justin Bertram a2262612ca
ARTEMIS-3892 fix tests, add docs 2022-07-20 11:36:12 -05:00
Yesenkov ff1fe7f6b5 ARTEMIS-3892 user limits not working with cert auth 2022-07-19 13:20:49 -04:00
Justin Bertram ff770d540d ARTEMIS-1964 fix and deprecate getNumberOfMessages() on AddressControl
AddressControl has 2 methods to get same metric. Both
getNumberOfMessages() and getMessageCount() return the same metric
albeit in different ways.

Also, getNumberOfMessages() inspects both "local" and "remote" queue
bindings which is wrong.

This commit fixes these issues via the following changes:

 - Deprecate getNumberOfMessages().
 - Change getNumberOfMessages() to invoke getMessageCount().
 - Add a test to ensure getNumberOfMessages() does not count remote
queue bindings.
 - Simplify getMessageCount(DurabilityType).
2022-07-19 13:08:23 -04:00
Clebert Suconic 8a6ee31055 NO-JIRA Adding a non failing test on TX send and mirror 2022-07-13 13:00:00 -04:00
Gary Tully 4a4765c39c ARTEMIS-3890 - rework LVQ implementation to ensure all messages get delivered, replacement of lvq now tied to the deliver loop. Fix issue with duplicates - bug in LinkedListImpl` 2022-07-13 00:01:16 -04:00
iliya d90179b99c ARTEMIS-3815 proper retry through IOCompletion when message not found on target queue on Mirror
co-authored Clebert Suconic
2022-06-30 17:37:27 -04:00
Clebert Suconic 68f6d8263d ARTEMIS-3743 / ARTEMIS-3766 Use ACKReason on Mirror to determine target operations and fixing Delivering statistics on Mirror
I merged these two JIRAs into one as I was doing an overal check on Mirroring
2022-06-29 19:20:03 -04:00
Clebert Suconic 3e4013d8ca ARTEMIS-3868 Journal compactor split improvement
The condition fixed on this commit should not really happen in production
as the compacting counts should always be ordered (records that were compacted earelier will always be at the top of the journal).

However it highlights an improvement that could be done on the journal compacting.
2022-06-27 14:36:36 -04:00
Robbie Gemmell 2ab0e85db4 ARTEMIS-3874: move/update various bits to allow removing many test-jar creations and dependencies 2022-06-27 09:52:54 -04:00
Clebert Suconic 8d29742d40 ARTEMIS-3862 Adding Topic Durable Subscription to RemoveSubscriptionRaceTest
This commit just contains test additions
2022-06-21 13:24:33 -04:00
Clebert Suconic c1fd16d66a ARTEMIS-3864 StompTransactions leaking on ActiveMQServer.getSessions()
After a TX in stomp is committed, a session will never be cleared from ActiveMQServer
2022-06-17 16:57:35 -04:00
Clebert Suconic 9dd026118e ARTEMIS-3862 Short lived subscriptiong makes address size inconsistent 2022-06-17 16:57:35 -04:00
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
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
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
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
Clebert Suconic 784b0e967e ARTEMIS-3810 Do not throw error resuming already active XA Transaction 2022-05-02 14:45:07 -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 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
Clebert Suconic f4bdacbc4c ARTEMIS-3778 Streamline Expiration Reaping
Instead of holding a thread and an iterator, we should instead keep moving to next references
without holding any threads. Just with callbacks.
2022-04-14 13:04:51 -04:00
Justin Bertram a6abf68ba5 ARTEMIS-3774 support user properties on MQTT will message 2022-04-13 10:25:57 -04:00
Clebert Suconic cfdb710a08 ARTEMIS-3761 Improve page cleanup to remove messages in the middle of the stream as well
Paging only removes files at the beginning of the stream...
Say you have paged files 1 through 1000...
if all the messages are ack, but one message on file 1 is missing an ack, all the 999 subsequent files would not be removed until all the messages on file 1 is ack.
This was working as engineered, but sometimes devs don't have complete control on their app.
With this improvement we will now remove messages in the middle of the stream as well.

There is also some improvement to how browsing and page work with this
2022-04-07 10:33:08 -04:00
Clebert Suconic bad1c26582 NO-JIRA Making AmqpFlowControlFailTest more accurate
this test was relying on internal details such as number of credits on the link.
The test was flaky and eventually failing or hunging.
2022-04-07 10:33:08 -04:00
Gary Tully a739b9f068 ARTEMIS-3757 - allow system and env var substution of properties config, respect order of file loaded properties and add generic enum converter 2022-04-06 12:04:25 +02:00
Domenico Francesco Bruscino 4ff5d95b2c ARTEMIS-3752 Upgrade Spring Framework to 5.3.18 for examples and tests 2022-04-04 10:59:14 +02:00
Clebert Suconic a0e7cb4eae [maven-release-plugin] prepare for next development iteration 2022-03-22 13:34:58 -04:00
Clebert Suconic d57ac487c7 [maven-release-plugin] prepare release 2.21.0 2022-03-22 13:34:55 -04:00
Clebert Suconic 49276ae633 NO-JIRA fixing MessagesExpiredPagingTest
There is a reference expiring in one hour. It should not leave page mode.
This is about still flowing messages, not leaving page mode.
2022-03-22 09:15:08 -04:00
Domenico Francesco Bruscino 603462a1a5 ARTEMIS-3708 Collapse key transformer into policy 2022-03-21 19:34:48 -04:00
Justin Bertram 3627ba57c9 ARTEMIS-3711 support AMQ_SCHEDULED_DELAY for OpenWire clients 2022-03-21 18:49:48 -04:00
Domenico Francesco Bruscino d0c550bcd7 ARTEMIS-3729 Fix JMS CORE client commit after async sends 2022-03-21 10:36:28 -04:00
Clebert Suconic 0966f2d7a0 ARTEMIS-3720 Max Number Of Messages on a deciding policy for paging (global and address-settings) 2022-03-18 16:27:46 -04:00
Justin Bertram 2b5a25a106 ARTEMIS-3702 auth failures don't adhere to MQTT spec
The commit includes the following changes:
 - Don't drop the connection on subscribe or publish authorization
failures for 3.1 clients.
 - Don't drop the connection on subscribe authorization failures for
3.1.1 clients.
 - Add configuration parameter to control behavior on publish
authorization failures for 3.1.1 clients (either disconnect or not).
2022-03-15 15:33:54 -04:00
Clebert Suconic 861fe59124 ARTEMIS-3721 AMQP Mirrored Large Message file not removed 2022-03-15 08:56:32 -04:00
Justin Bertram 1ed7cc1efc ARTEMIS-3719 DLA and expiry incorrect w/temp-queue-namespace
When using a temporary queue with a `temporary-queue-namespace` the
`AddressSettings` lookup wasn't correct. This commit fixes that and
refactors `QueueImpl` a bit so that it holds a copy of its
`AddressSettings` rather than looking them up all the time. If any
relevant `AddressSettings` changes the
`HierarchicalRepositoryChangeListener` implementation will still
refresh the `QueueImpl` appropriately.

The `QueueControlImpl` was likewise changed to get the dead-letter
address and expiry address directly from the `QueueImpl` rather than
looking them up in the `AddressSettings` repository.

I modified some code that came from ARTEMIS-734, but I ran the test that
was associated with that Jira (i.e.
`o.a.a.a.t.i.c.d.ExpireWhileLoadBalanceTest`) and it passed so I think
that should be fine. There actually was no test included with the
original commit. One was added later so it's hard to say for sure it
exactly captures the original issue.
2022-03-14 15:26:20 -04:00
Justin Bertram f6372d8443
ARTEMIS-3698 fix test
When copying message properties from the core message to the OpenWire
message we intentially omit any properties starting with `_AMQ` and
`__HDR_`. However, we were effectively negating that logic because we
copied the marshalled properties directly to the message without any
filtering. Now that we no longer copy the marshalled properties directly
to the message the test breaks because it expects properties starting
with `__HDR_`. This commit fixes the test by removing those
expectations. The test is still valid because the message is still
receieved rather than being swallowed due to an exception (which was the
original problem).
2022-03-04 12:08:35 -06:00
Clebert Suconic e949e3843b ARTEMIS-3701 Do no block libaio on compacting or closing
I am adding a test showing it is safe to not wait pending callbacks before closing a file.
With this I can just close the file and let the kernel to deal with sending the completions.
2022-03-04 10:43:06 -05:00
Justin Bertram c376503f35 ARTEMIS-3699 expose actual port on NettyAcceptor
It sometimes makes sense to set an acceptor's port to 0 to allow the JVM
to select an ephemeral port (e.g. in embedded integration tests). This
commit adds a new getter on NettyAcceptor so tests can programmtically
determine the actual port used by the acceptor.

This commit also changes the ACCEPTOR_STARTED notification and the
related logging to clarify the actual port value where clients can
connect.
2022-03-04 13:53:06 +00:00
Robbie Gemmell dcbd4b059a ARTEMIS-3695: use specific jetty deps instead of uber jar, rationalise servlet api deps
Partially reverts c5f94f340d
2022-03-03 21:59:13 -05:00
nbrendah 7bee0d8923 ARTEMIS-3686: Adding example showing how to do telemetry support
This is adding an example intercepting and sending messages using opentelemetry to either Jaeger, zipkin or OTLP exporter
2022-03-03 11:08:53 -05:00
Clebert Suconic cf49bfaa2b NO-JIRA Improving assertion on MessageExpiredPagingTest 2022-03-01 12:27:01 -05:00
Clebert Suconic 60ce5f9cf1 NO-JIRA Improving expiry test with an executor 2022-03-01 11:59:05 -05:00
gtully dcaebfb24e ARTEMIS-3660 - rename broker-balancer to connection-router 2022-03-01 11:15:16 +01:00
Domenico Francesco Bruscino 6438d6a7a8 ARTEMIS-3697 Skipping testInabilityToCreateDirectoryDuringPaging for db 2022-03-01 07:03:41 +01:00
Clebert Suconic dbeda809e3 NO-JIRA Fixing test assertion 2022-02-28 21:29:51 -05:00
Justin Bertram c4ebccd94d ARTEMIS-3696 avoid null prop values on STOMP msgs 2022-02-28 13:44:45 -05:00
Justin Bertram 40acb18f4e ARTEMIS-3698 avoid byte[] prop values when converting from OpenWire
Avoid storing the following values as byte[] for OpenWire:
 - Marshalled properties. We already store the unmarshalled properties
   so this is altogether redundant.
 - Producer ID.
 - Message ID.
 - Various destination values.

Also, eliminate the "original transaction ID" conversion code as it's
never actually set from the incoming message.
2022-02-28 08:41:36 -05:00
Justin Bertram bc65438344
ARTEMIS-3687 bridges with concurrency > 1 can leak 2022-02-26 15:16:04 -06:00
Justin Bertram c51fda09cd
ARTEMIS-3685 support reloading bridges 2022-02-26 15:16:04 -06:00
Clebert Suconic 293b96aa45 ARTEMIS-3697 Adding test assertion on invalid IO on Paging
This commit is part of a bigger task where I am improving paging.
This test is needed to validate some of the changes I am making on further commits.
2022-02-25 14:34:44 -05:00
AntonRoskvist 99b9d87bfd
ARTEMIS-2934 Add option to suppress SESSION notifications 2022-02-17 14:56:16 -06:00
AntonRoskvist 8a9f326b25
ARTEMIS-3647 - OpenWire, remove rolledbackMessageRef on Ack 2022-02-17 14:36:39 -06:00
Robbie Gemmell 5d5e6ccb20 ARTEMIS-3638: remove duplicate dependency definition to fix warning 2022-02-17 16:19:19 +00:00
Matteo Baccan 8c3f699d27 Typo error: double semicolon at the end of line 2022-02-17 10:30:33 -05:00
Matteo Baccan dc1c269b36 Fixed a typo error "unkown" -> "unknown" 2022-02-17 10:29:58 -05:00
Justin Bertram 0bc7bf3f7c
ARTEMIS-3677 add more tests 2022-02-14 12:23:16 -06:00
Justin Bertram 7b25cbb51d
ARTEMIS-3677 add test, etc. 2022-02-10 12:00:17 -06:00
Justin Bertram 27d018327a
ARTEMIS-3678 return proper CONNACK code when MQTT 3.x auth fails 2022-02-10 10:30:44 -06:00
Domenico Francesco Bruscino bac579ac25
ARTEMIS-3573 Support PropertiesLoginModule custom password codecs 2022-02-07 20:31:30 -06:00
AntonRoskvist bf83a9b3d1
ARTEMIS-3608 - Add distribution for Multicast messages to OFF_WITH_REDISTRIBUTION to avoid message loss 2022-02-07 20:06:45 -06:00
Luis De Bello cf73e895f3
ARTEMIS-3613: Deprecating stompMaxFramePayloadLength in favour of webSocketMaxFramePayloadLength 2022-02-07 19:44:18 -06:00
Domenico Francesco Bruscino 290e5016c8
ARTEMIS-3645 Support broker balancer cache persistence 2022-02-07 19:08:00 -06:00
Justin Bertram ae7e7cbb22
ARTEMIS-2413 fix tests 2022-02-07 11:44:41 -06:00
Justin Bertram e582ce03a5
ARTEMIS-3644 add cert info to CONNECTION_CREATED notification 2022-02-04 14:37:15 -06:00
Justin Bertram 9c459eb313 ARTEMIS-2413 upgrade JGroups
JGroups 3.x hasn't been updated in some time now. The last release was
in April 2020 almost 2 years ago. Lots of protocols have been updated
and added and users are wanting to use them. There is also increasing
concern about using older components triggered mainly by other
recently-discovered high-profile vulnerabilities in the wider Open
Source Java community.

This commit bumps JGroups up to the latest release - 5.2.0.Final.
However, there is a cost associated with upgrading.

The old-style properties configuration is no longer supported. I think
it's unlikely that end-users are leveraging this because it is not
exposed via broker.xml. The JGroups XML configuration has been around
for a long time, is widely adopted, and is still supported. I expect
most (if not all) users are using this. However, a handful of tests
needed to be updated and/or removed to deal with this absence.

Some protocols and/or protocol properties are no longer supported. This
means that users may have to change their JGroups stack configurations
when they upgrade. For example, our own clustered-jgroups example had to
be updated or it wouldn't run properly.
2022-02-04 13:47:11 -05:00
AntonRoskvist 263b723726 ARTEMIS-3646 - OpenWire, Fix overflowing prefetch and incorrect metrics for messages sent to DLQ 2022-02-04 13:40:32 -05:00
Justin Bertram e184038d05 ARTEMIS-3670 support diverting to multiple addresses 2022-02-04 11:39:16 -05:00
Justin Bertram 8063110644 ARTEMIS-3638 Support MQTT 5
MQTT 5 is an OASIS standard which debuted in March 2019. It boasts
numerous improvments over its predecessor (i.e. MQTT 3.1.1) which will
benefit users. These improvements are summarized in the specification
at:
https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Toc3901293

The specification describes all the behavior necessary for a client or
server to conform. The spec is highlighted with special "normative"
conformance statements which distill the descriptions into concise
terms. The specification provides a helpful summary of all these
statements. See:
https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Toc3901292

This commit implements all of the mandatory elements from the
specification and provides tests which are identified using the
corresponding normative conformance statement. All normative
conformance statements either have an explicit test or are noted in
comments with an explanation of why an explicit test doesn't exist. See
org.apache.activemq.artemis.tests.integration.mqtt5 for all those
details.

This commit also includes documentation about how to configure
everything related to the new MQTT 5 features.
2022-02-04 09:57:15 -05:00
Robbie Gemmell 8661cecb8f ARTEMIS-3655: isolate the errorprone dependencies to its profiles, enable everywhere, fix related problems, and update to 2.10. 2022-01-26 16:32:34 +00:00
gtully 90535a2401 ARTEMIS-3652 - tighten up test assertions and cleanup, track errors via connection listener and consider missing send reply 2022-01-25 17:17:35 +00:00
gtully c05177d723 ARTEMIS-3627 - allow default classpath properties name to be configured and use non intrusive property for testing, root cause of falure in test identified by ARTEMIS-3652 2022-01-24 17:18:34 +00:00
gtully 10d93d9c92 ARTEMIS-3627 - support broker.properties for augmenting or supplying additional configuration via nested properties of the internal configuratinimpl bean - elements with a name attribute can be configured in collections, the type inferred by the add singular fluent api 2022-01-19 14:39:27 +00:00
Justin Bertram 951c506481 ARTEMIS-3637 config-delete-diverts not applied properly
The address-setting config-delete-diverts is not being applied correctly
hierarchically because it's not included in the merge() method. It is
also not being persisted to disk either. This commit fixes both issues.
2022-01-12 21:06:40 -05:00
Erwin Dondorp 172d72d62d
ARTEMIS-3626 fixed simple syntax error 2022-01-12 12:09:24 -06:00
Robbie Gemmell a91d3b0c0f ARTEMIS-3624: change dep mangement entry to be for the minikdc dep, add property for its version, update it and rework exclusions 2022-01-11 10:44:22 -05:00
Domenico Francesco Bruscino 055d05b9f1 NO-JIRA Fix DiscoveryTest#testSimpleBroadcast 2022-01-04 14:23:17 +01:00
Clebert Suconic e34677f5c0 [maven-release-plugin] prepare for next development iteration 2021-12-14 22:50:55 -05:00
Clebert Suconic 3dea7eeb71 [maven-release-plugin] prepare release 2.20.0 2021-12-14 22:50:53 -05:00
Marlon Müller d56d299456 ARTEMIS-3574 multiple bindings for embedded webserver
* Add BindingDTO to allow configuring multiple addresses to listen on
* Start a new ServerConnector for each binding and deploy the corresponding web-applications
* Update documentation and tests
* Add tests to verify old and new configuration style produce equal results
2021-12-14 19:16:34 -05:00
Clebert Suconic 1857017abe Revert "ARTEMIS-3574 multiple bindings for embedded webserver"
This reverts commit 182334359c.
2021-12-14 15:18:16 -05:00
Domenico Francesco Bruscino ca1accc202 ARTEMIS-3605 Fix RestDeserializationTest 2021-12-14 10:04:55 -05:00
Marlon Müller 182334359c ARTEMIS-3574 multiple bindings for embedded webserver
* Add BindingDTO to allow configuring multiple addresses to listen on
* Start a new ServerConnector for each binding and deploy the corresponding web-applications
* Update documentation and tests
* Add tests to verify old and new configuration style produce equal results
2021-12-14 09:38:59 -05:00
AntonRoskvist 7d129b36e9 Commits: 'Add redistribution to old Anycast consumers' and 'Changed redistributionDelay-check to earlier, improved test, reverted changes in ClusterTestBase' 2021-12-14 09:22:05 -05:00
Justin Bertram fac7f1692a ARTEMIS-3601 expose acceptors via management 2021-12-14 08:52:48 -05:00
Justin Bertram fb2270dc05 ARTEMIS-3535 bytes messages not obeying management limit 2021-12-13 21:58:03 -06:00
Clebert Suconic 1e89ce828c NO-JIRA fixing intermittent test failure 2021-12-10 15:49:26 -05:00
gtully 158157260c ARTEMIS-2097 - via elastic queue use case test based on ARTEMIS-3365 and ARTEMIS-3569
scenario - avoid paging, if address is full chain another broker and produce to the head, consume from the tail using producer and consumer roles to partition connections. When tail is drained, drop it.
 - adds a option to treat an idle consumer as slow
 - adds basic support for credit based address blocking ARTEMIS-2097
 - adds some more visiblity to address memory usage and balancer attribute modifier operations
2021-12-09 10:14:20 +00:00
gtully 56299e846a ARTEMIS-3054 - fix lock inversion - intermittent failure of PageCleanupWhileReplicaCatchupTest and hang 2021-12-09 10:13:26 +00:00
gtully de7a1805a4 ARTEMIS-2716 - fix up test regression in OpenWireProtocolManagerTest 2021-12-08 15:12:12 +00:00
gtully e0b16217a1 ARTEMIS-3594 - add support for a local target key transformer and an instance of CONSISTENT_HASH_MODULO that can be used to partition in a static cluster 2021-12-07 13:17:37 +00:00
Clebert Suconic 5730fcacfa ARTEMIS-3599 Removing finalization calls 2021-12-03 13:12:02 -05:00
Clebert Suconic 72a4fff167 ARTEMIS-3593 Defense against OME on parsing XID
Co-authored-by: Viktor Kolomeyko <Viktor.Kolomeyko@r3.com>
2021-12-02 21:15:41 -05:00
Justin Bertram 5fe42dd0c4 ARTEMIS-3552 NPE on message expiration 2021-11-29 12:13:14 -05:00
gtully b979189187 ARTEMIS-3569 - balancer role_name local target, matches role of authenticated user 2021-11-24 11:28:16 +01:00
Clebert Suconic bfc10dcf8b ARTEMIS-3546 Jakarta javax.json incompability on jakarta all client
Domenico Bruscino provided the JSON Wrapper used here. Thanks Domenico!
2021-11-19 13:20:38 -05:00
gtully 8d50aa916c ARTEMIS-3581 - allow max-size-bytes=0 configuration force paging for an address, independent of the page-size-bytes 2021-11-18 09:44:13 +00:00
gtully 778ab4419f ARTEMIS-3575 - ensure message owner is set from journal reload, follow up on ARTEMIS-3067 2021-11-16 11:33:26 -05:00
Erwin Dondorp dde48d052f ARTEMIS-3556 show message protocol on message-view page 2021-11-10 20:46:55 -05:00
Clebert Suconic 067247178f ARTEMIS-3555 Invalid data could interrupt compacting and shutdown server 2021-11-05 14:36:22 -04:00
Clebert Suconic 98a6e42a57 ARTEMIS-3554 Invalid Prepared Transaction could interrupt server reload 2021-11-05 10:14:43 -04:00
Clebert Suconic 657e4bf842 ARTEMIS-3538 Removing some extra // ---- 2021-11-04 08:43:14 -04:00
Clebert Suconic 6de637259b ARTEMIS-3553 -5718 Conversion of AMQP large message expiry 2021-11-03 21:28:56 -04:00
Clebert Suconic 8b3663e827 ARTEMIS-3538 Removing a few extra // ----- structural comments 2021-11-02 21:45:09 -04:00
Asukwo-comfort 923e4cc892 ARTEMIS-3538: Removing // --------- comments from the codebase 2021-11-02 21:44:12 -04:00
Clebert Suconic 1d0c0a8897 ARTEMIS-3541 createQueue ignoring autoDeleteAddress flag
Commit 481b73c8ca from ARTEMIS-3502
inadvertently broke this functionality. This commit restores the
original behavior.

autoDeleteAddress was renamed to forceAutoDeleteAddress which will ignore the address settings.

delete temporary queues will use forceAutoDeleteAddress=true.

this is done in collaboration with Justin Bertram
2021-11-02 08:56:15 -04:00
gtully c6b85ea4e3 ARTEMIS-1925 - fix test regression - isHighAcceptPriority does not need to check for off_with_redistribution 2021-11-01 13:08:26 +00:00
Tiago Bueno 7791a268c8 ARTEMIS-3540 Fix SimpleSymmetricClusterTest.testSimpleRestartClusterConnection
add bridge connection verification after stop cluster connection
to wait for the bridge stop completely and avoid a failure
on stop/start cluster connection test
2021-10-26 12:27:44 +02:00
Clebert Suconic fdc0cc591c ARTEMIS-3523 Small tweaks into AddressControl delegation 2021-10-21 13:20:19 -04:00
nbrendah ebf8adc72b ARTEMIS-3523: Created delegated methods replay in addressControl 2021-10-21 13:20:06 -04:00
Domenico Francesco Bruscino dca3facb55 ARTEMIS-3495 Fix backup cluster controller connection loops
Skip backup connector equivalent to cluster connector for cluster connections.
2021-10-21 10:46:59 +01:00
gtully 3259791bbb ARTEMIS-3533 - respect extra url parameters from federation connector-ref 2021-10-20 09:44:21 +01:00
gtully cf85d35355 ARTEMIS-3308 - support federation of large messages 2021-10-20 09:43:11 +01:00
Clebert Suconic 1db3ae1dc0 ARTEMIS-3529 Fixing integration tests after Web Console Parsing of Large Messages 2021-10-19 23:00:51 -04:00
Clebert Suconic 54418dfcaf ARTEMIS-3529 Fixing test and tweaks on properties 2021-10-19 17:43:01 -04:00
Clebert Suconic a833d95c1f ARTEMIS-3461 Generalize MBean Support on Messages and avoid converstion to core on AMQP Messages on console browsing
Done in collaboration with Erwin Dondorp through https://github.com/apache/activemq-artemis/pull/3794/
2021-10-17 11:25:27 -04:00
Clebert Suconic fd12209488 ARTEMIS-3529 Tweaks on test - Removing AssertionLogger and reformat 2021-10-13 19:14:45 -04:00
Clebert Suconic 1d84800d5a ARTEMIS-3529 Expire should not reject messages from duplicateID 2021-10-13 19:11:40 -04:00
Clebert Suconic 2383aa0125 ARTEMIS-3525 Empty Auto Created queues should be removed on restart 2021-10-12 12:54:48 -04:00
Clebert Suconic e86acc977b NO-JIRA fixing intermittent test failure 2021-10-12 12:06:26 -04:00
Clebert Suconic 95aa20b608 NO-JIRA fixing intermittent failures 2021-10-11 16:22:33 -04:00
Justin Bertram 402842062a [maven-release-plugin] prepare for next development iteration 2021-10-11 13:35:57 -05:00
Justin Bertram 5fcb763234 [maven-release-plugin] prepare release 2.19.0 2021-10-11 13:35:06 -05:00
Clebert Suconic 75430f6ebe NO-JIRA Adding JDBC AMQPLargeMessage test 2021-10-11 11:36:27 -04:00
Clebert Suconic 377cda62b2 ARTEMIS-3313 fixing intermittent test failure 2021-10-10 20:50:27 -04:00
Justin Bertram 7e7f7496c1 ARTEMIS-3313 add export/import test 2021-10-08 10:34:49 -05:00
Domenico Francesco Bruscino 452d3dfc15 ARTEMIS-3518 Upgrade karaf version to 4.3.3 2021-10-08 15:11:05 +02:00
Justin Bertram c3d93f5590 ARTEMIS-3313 routing-type conflict during import/export 2021-10-08 08:09:21 -05:00
Clebert Suconic 41baff7423 NO-JIRA fixing typoe on test 2021-10-07 17:11:51 -04:00
Robbie Gemmell d7f37ae313 ARTEMIS-3520: set the Open failure hint when balancer redirects or refuses AMQP connection, add lower level test for balancer related redirect/refusal protocol behaviour 2021-10-07 10:55:29 +01:00
Robbie Gemmell a5b5a504e0 ARTEMIS-3038: unwind effect of defunct changes from ARTEMIS-1264
Follows earlier test removal in a3de3d4c75
2021-10-07 10:45:02 +01:00
Clebert Suconic 15c2dbb1c3 ARTEMIS-3521 Option to disable duplicate detection on openwire failover clients 2021-10-06 16:26:01 -04:00
Clebert Suconic 481b73c8ca ARTEMIS-3502 Auto delete & auto create leading to inconsistencies 2021-10-05 17:53:30 -04:00
Clebert Suconic 20445bef7c ARTEMIS-3513 Fixing AIOJournalCompactTest 2021-10-05 15:06:51 -04:00
Clebert Suconic 557506140f ARTEMIS-3457 Dealing with String conversions
The test I wrote for ARTEMIS-3513 is throwing a few convert exceptions
because of SimpleString versus String conversion

This commit is addressing the issue,
The previous commit (the one addressing ARTEMIS-3513) should provide the test for this change.
2021-10-05 11:44:24 -04:00
Clebert Suconic ef63dc95bb ARTEMIS-3513 Compacting exception invalidates deletes and updates 2021-10-05 11:44:24 -04:00
Robbie Gemmell 20511375de NO-JIRA: update to errorprone 2.9.0, fix errors, enable it when running on Java 17+ 2021-09-29 11:55:40 +01:00
Andy Taylor e37175784c ARTEMIS-3493 - expose User ID (JMS Message ID) in send tab of console
https://issues.apache.org/jira/browse/ARTEMIS-3493
2021-09-28 08:11:26 +01:00
Clebert Suconic 116545c589 ARTEMIS-3498 Bridge reconnects will not clear delivering count statistics on internal queues 2021-09-24 16:40:59 -04:00
gtully 72cfda6b1a ARTEMIS-2007 - refactor to make use of existing refCountForConsumers for tracking consumer count and remove need for volatile redistributor 2021-09-24 15:07:01 +01:00
Justin Bertram e01d6c3846
ARTEMIS-2545 fix test 2021-09-20 12:54:14 -05:00
Domenico Francesco Bruscino 569c5994a5 ARTEMIS-3491 Fix cluster connection restart 2021-09-17 19:45:08 +02:00
Emmanuel Hugonnet f19337901a [ARTEMIS-2545]: Auto queue creation does not work with MDBs.
* Adding support for queue autocreation from the resource adapter.

Issue: https://issues.apache.org/jira/browse/ARTEMIS-2545
2021-09-16 10:44:54 -04:00
franz1981 cc527f6359 NO-JIRA Adding quorum paging & large msg BackupSyncJournalTest 2021-09-16 14:16:39 +02:00
Clebert Suconic c3b403a980 ARTEMIS-3482 Removing non used methods and some reorg on message methods 2021-09-15 09:17:01 -04:00
Clebert Suconic b31737d2fc ARTEMIS-3464 Adding assertion to test 2021-09-13 15:07:53 -04:00
Clebert Suconic 14457c4308 ARTEMIS-3464 Protecting scheduled tasks counter with a synchronized 2021-09-13 14:35:45 -04:00
Clebert Suconic 5dbbc98a62 ARTEMIS-3464 Fixing PageAckScanTest 2021-09-10 21:39:37 -04:00
Clebert Suconic 2fb23474ce ARTEMIS-3464 Improving ACK reliability on Paging and code improvements 2021-09-10 18:27:00 -04:00
Clebert Suconic 43ca9540be ARTEMIS-3472 Reconnect openwire could leave Openwire internal session null 2021-09-10 18:07:11 -04:00
Clebert Suconic 7792d8f7b3 ARTEMIS-3473 Some tests were leaving a directory named null for journal files under tests/integration-tests 2021-09-10 17:43:06 -04:00
Justin Bertram 8f6dd3ea37 ARTEMIS-3471 implement "session present" for MQTT CONNACK 2021-09-10 14:41:02 -05:00
Domenico Francesco Bruscino 9ed12b53d6 ARTEMIS-3467 FD leak on receiving AMQP large messages 2021-09-09 16:56:52 -04:00
Clebert Suconic 7fb4f80649 ARTEMIS-3464 Missing ACKs on Page and Mirror 2021-09-08 15:30:39 -04:00
franz1981 1e5b361b6a ARTEMIS-3446 Pluggable quorum vote force live CLI command 2021-09-06 18:14:29 +02:00
franz1981 ce3b50c1a6 ARTEMIS-3430 Activation Sequence Auto-Repair 2021-09-06 18:14:29 +02:00
franz1981 c629289e9b NO-JIRA speed-up replicated failback test 2021-09-06 18:14:29 +02:00
gtully 276f822a0e ARTEMIS-1925 - allow redistribution with new loadbalance type of OFF_WITH_REDISTRIBUTION to ensure local consumers get priority, we only optionally redistribute when messages are stuck 2021-09-06 11:18:11 +01:00
gtully b27aa03a37 ARTEMIS-1612 - strip any acceptor matching prefix from the message address such that further routing will match the lack of prefixes in broker routing, different fix for redistribution with prefixes 2021-09-06 11:08:36 +01:00
gtully e985df77fb ARTEMIS-3223 - ensure distribution uses the address from the message, rather than the address from the queue which may be a wildcard sub and not valid for publishng on, fix and test 2021-09-06 11:08:36 +01:00
gtully 224b89810d ARTEMIS-2007 - allow redistribution if there are unmatched messages pending on a queue and there is new remote demand 2021-09-06 10:40:39 +01:00
Justin Bertram 6ee7e72db1 ARTEMIS-3445 automatically clean-up abandoned MQTT subscriptions 2021-09-03 16:48:01 -04:00
Robbie Gemmell f82cd797cb NO-JIRA: undo addition of module-specific resources-plugin version from 97e84bb0d1
Also consolidates plugin configuration to fix warning from having plugin defined multiple times
2021-09-03 12:05:29 -04:00