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
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
Justin Bertram
3339ca8b68
ARTEMIS-3801 fix test
2022-04-26 09:54:22 -05:00
Justin Bertram
506d59db03
ARTEMIS-3801 not getting messages on MQTT subscriptions with $
2022-04-25 21:41:20 -04:00
Marco Roehrs
83afe0e276
ARTEMIS-3798 Allow binary deserialization of message properties AMQ_MSG_MESSAGE_ID, AMQ_MSG_ORIG_DESTINATION, AMQ_MSG_PRODUCER_ID & AMQ_MSG_REPLY_TO from existing messages.
...
co-authored: Justin Bertram contributed OpenWireMessageConverterTest changes
2022-04-25 09:43:46 -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
AntonRoskvist
84e68c76e9
ARTEMIS-3771 Avoid not needed lookup for address on OpenWire connections
2022-04-21 16:46:26 -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
AntonRoskvist
32c5f9d268
ARTEMIS-3780 - OpenWire, UTF8Buffer to String before setting properties to avoid exception
2022-04-20 12:22:32 -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
b5539b9da4
NO-JIRA Fix MQTT trace logging NPE
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
Justin Bertram
1e1397935a
NO-JIRA improve MQTT trace logging
2022-04-18 18:26:05 -04:00
Clebert Suconic
bc17acd6da
ARTEMIS-3776 Avoid Integer.MAX_VALUE overflow on openwire clients
...
Older versions of Openwire clients wil be affected by AMQ-6431.
As a result of the issue if the ID of the message>Integer.MAX_VALUE
a consumer configured with Failover and doing duplicate detection on the client
will not be able to process duplicate detection accordingly and miss messages.
2022-04-13 11:11:10 -04:00
Justin Bertram
a6abf68ba5
ARTEMIS-3774 support user properties on MQTT will message
2022-04-13 10:25:57 -04:00
Justin Bertram
b48037a1e6
ARTEMIS-3764 wrong CONNACK return code for MQTT5
...
This bug is causing tests in o.a.a.a.t.i.m.s.c.ConnectTestsWithSecurity
to fail.
This commit fixes the problem by setting the session's version earlier
in the logic handling the CONNECT packet so that the proper CONNACK
return code can be supplied to the remote client in case of
authentication failure.
2022-04-06 17:02:19 -04:00
AntonRoskvist
bb44e37e84
ARTEMIS-3733 - Destination cache size too small for OpenWire clients
2022-03-30 11:15:25 -05: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
Justin Bertram
3627ba57c9
ARTEMIS-3711 support AMQ_SCHEDULED_DELAY for OpenWire clients
2022-03-21 18:49:48 -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
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
gtully
dcaebfb24e
ARTEMIS-3660 - rename broker-balancer to connection-router
2022-03-01 11:15:16 +01: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
AntonRoskvist
8a9f326b25
ARTEMIS-3647 - OpenWire, remove rolledbackMessageRef on Ack
2022-02-17 14:36:39 -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
Justin Bertram
51a25b4ba4
ARTEMIS-3677 mitigate NPE when browsing messages
2022-02-10 10:30:03 -06: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
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
Domenico Francesco Bruscino
9c01f9b983
ARTEMIS-3649 Fix zero prefetch OpenWire consumers
2022-01-19 10:14:08 +00:00
Erwin Dondorp
d02c8cd16f
ARTEMIS-3623 preserve type of numeric extraProperties
2022-01-07 13:17:39 -05: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
Clebert Suconic
1e62979577
ARTEMIS-3604 Async sends overflowing server in OpenWire
2021-12-10 15:49:26 -05:00
gtully
dcb6292def
fix intermittent failure of org.apache.activemq.artemis.tests.integration.client.ConsumerTest#testSendAMQPReceiveCore
2021-12-09 10:12:39 +00:00
Domenico Francesco Bruscino
3f7f8c0ecd
ARTEMIS-3576 Fix toString methods throwing exceptions
2021-12-03 13:15:44 -05:00
franz1981
7e6373d4df
ARTEMIS-3578 Save SimpleString duplication and long[] allocation while moving Core messages
2021-12-01 10:27:46 +01:00
Clebert Suconic
12a93e3c7e
Revert "ARTEMIS-3576 Fix toString methods throwing exceptions"
...
This reverts commit fcd512f9de
.
this will be re-applied after fixing the build and tests
2021-11-29 13:21:24 -05:00
Domenico Francesco Bruscino
fcd512f9de
ARTEMIS-3576 Fix toString methods throwing exceptions
2021-11-29 12:02:58 -05:00
Domenico Francesco Bruscino
f8472fd736
ARTEMIS-3569 Validate users on AMQP remote open
2021-11-24 11:28:16 +01:00
gtully
b979189187
ARTEMIS-3569 - balancer role_name local target, matches role of authenticated user
2021-11-24 11:28:16 +01:00
Erwin Dondorp
dde48d052f
ARTEMIS-3556 show message protocol on message-view page
2021-11-10 20:46:55 -05:00
Domenico Francesco Bruscino
8e92fd0f51
ARTEMIS-3559 Update netty version to 4.1.70.Final
2021-11-09 10:08:02 +01: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
Robbie Gemmell
3f9de5fa30
ARTEMIS-3461: add some tests and resolve various issues spotted with the prior changes
...
- Avoid blowing up on string bodies of any size if the valueSizeLimit bits are configured to disable limit
- Dont NPE if amqp-value + binary body is sent without a content-type, as it always should be.
- Include expected prefix when adding delivery delay and ingress time annotations.
- Use the actual name for ingress time annotation, as with all other annotations.
- Use correct object type when testing equality with content-type value.
- Use consistent case for 'groupId' in different properties.
2021-11-01 17:08:15 -04:00
Clebert Suconic
3191d0c929
ARTEMIS-3461 Fixing Typo on Creation Time
2021-10-21 15:34:18 -04: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
6bb4aa7a10
ARTEMIS-3529 Moving addItem from AMQP and Core into upper class
2021-10-17 20:06:51 -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
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
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
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
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
Emmanuel Hugonnet
fa439375e9
[ARTEMIS-3494]: ActiveMQClientProtocolManagerFactory shouldn't have a private constructor.
...
* Removing the 'private' constructor
* Removing the use of a static getInstance
Issue: https://issues.apache.org/jira/browse/ARTEMIS-3494
2021-09-23 11:28:06 +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
14457c4308
ARTEMIS-3464 Protecting scheduled tasks counter with a synchronized
2021-09-13 14:35:45 -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
Justin Bertram
8f6dd3ea37
ARTEMIS-3471 implement "session present" for MQTT CONNACK
2021-09-10 14:41:02 -05:00
Robbie Gemmell
55fb9bb540
ARTEMIS-3449: add some additional guarding following behaviour seen prior to ARTEMIS 3465 fix
2021-09-10 11:41:21 +01:00
Domenico Francesco Bruscino
9ed12b53d6
ARTEMIS-3467 FD leak on receiving AMQP large messages
2021-09-09 16:56:52 -04:00
Robbie Gemmell
8fb5b8969f
ARTEMIS-3449: fix some issues from using position to track an unrelated state, plus simplify some previous changes and more
2021-09-09 10:37:36 +01:00
Clebert Suconic
7fb4f80649
ARTEMIS-3464 Missing ACKs on Page and Mirror
2021-09-08 15:30:39 -04:00
franz1981
a4c311f368
ARTEMIS-3449 Speedup AMQP large message streamig
2021-09-08 15:22:22 -04: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
13df6a8fb9
ARTEMIS-3457 log WARN for OpenWire property conversion problem
...
While converting a core message to an OpenWire message there may be an
error processing a property value. Currently this results in an
exception and the message is not dispatched to the client. The broker
eventually attempts to redeliver this message resulting in the same
error. Instead of throwing an exception the broker should simply log a
WARN message and skip the property. This will allow clients to receive
the message without the problematic property and the broker will not
have to attempt to redeliver the message again.
2021-09-03 16:51:02 -04:00
Justin Bertram
6ee7e72db1
ARTEMIS-3445 automatically clean-up abandoned MQTT subscriptions
2021-09-03 16:48:01 -04:00
Robbie Gemmell
9b074e124e
ARTEMIS-3459: use appropriate call to clear up, avoid creating unnecessary wrapper
2021-09-03 18:06:21 +01:00
Clebert Suconic
8709b1e5d3
ARTEMIS-3448 Expiry (maybe DLQ copy) would break LargeMessage Delivery
...
This commit will fix MessagesExpiredPagingTest.testSendReceiveAMQPLarge
2021-08-27 16:33:30 -04:00
Andy Taylor
364d4cc324
ARTEMIS-3426 - fix copying of large retained message
...
https://issues.apache.org/jira/browse/ARTEMIS-3426
2021-08-19 09:58:28 -04:00
Andy Taylor
191cb34c54
ARTEMIS-3423 - create correct queue when durable subs recreated via AMQP
...
https://issues.apache.org/jira/browse/ARTEMIS-3423
2021-08-18 12:41:19 -04:00
Clebert Suconic
b8c64590f9
[maven-release-plugin] prepare for next development iteration
2021-08-09 11:58:28 -04:00
Clebert Suconic
37cc298973
[maven-release-plugin] prepare release 2.18.0
2021-08-09 11:58:27 -04:00
Clebert Suconic
cc4a51a3ea
[maven-release-plugin] prepare for next development iteration
2021-08-06 17:04:18 -04:00
Clebert Suconic
0b30187091
[maven-release-plugin] prepare release 2.18.0
2021-08-06 17:04:16 -04:00
Clebert Suconic
0e2ce484ba
[maven-release-plugin] prepare for next development iteration
2021-08-06 13:46:56 -04:00
Clebert Suconic
cb705b5c5c
[maven-release-plugin] prepare release 2.18.0
2021-08-06 13:46:54 -04:00
Domenico Francesco Bruscino
3555dd7d25
ARTEMIS-3365 Add broker balancers
2021-08-06 08:33:21 -04:00
gtully
c2da0fd663
ARTEMIS-3200 - remove braces from the belt and braces fix in ARTEMIS-2712, the braces are not necessary and leak, cleaning up in close negates the need to the session closeable
2021-08-05 09:27:12 -04:00
Clebert Suconic
813ed88ecb
ARTEMIS-3243 Implementing dual mirror with Broker Connections
...
There are some major tests added as part of this PR.
This PR has been done through an extensive collaboration with Robbie Gemmel on https://github.com/apache/activemq-artemis/pull/3633
2021-08-03 16:50:43 -04:00
Robbie Gemmell
d9a44002c5
ARTEMIS-3304: replace use of deprecated constructors marked as for-removal since Java 16
...
updates all the uses in tests, missed in original commit
2021-07-27 14:55:40 +01:00
Domenico Francesco Bruscino
51801d978e
ARTEMIS-3396 Convert bytes properties to String for OpenWire
2021-07-22 11:23:28 -04:00
Clebert Suconic
18e9dee490
NO-JIRA Small tweaks on AMQPMessage.
...
- adding annotations into toString()
- comment typo
2021-07-13 08:28:06 -04:00
Clebert Suconic
ee3814dbfd
ARTEMIS-3383 AMQPMessage.isDurable wrongly returns false during persistent lazy reload state
2021-07-12 23:00:16 -04:00
Justin Bertram
ec508d8306
ARTEMIS-3381 AMQP bypasses session when deleting queues
...
The AMQP implementation bypasses the ServerSession when deleting queues
which also bypasses security authorization.
2021-07-12 11:25:11 -04:00