Commit Graph

266 Commits

Author SHA1 Message Date
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
AntonRoskvist 84e68c76e9 ARTEMIS-3771 Avoid not needed lookup for address on OpenWire connections 2022-04-21 16:46:26 -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
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
AntonRoskvist bb44e37e84
ARTEMIS-3733 - Destination cache size too small for OpenWire clients 2022-03-30 11:15:25 -05:00
Justin Bertram 3627ba57c9 ARTEMIS-3711 support AMQ_SCHEDULED_DELAY for OpenWire clients 2022-03-21 18:49:48 -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 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
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
Domenico Francesco Bruscino 9c01f9b983 ARTEMIS-3649 Fix zero prefetch OpenWire consumers 2022-01-19 10:14:08 +00:00
Clebert Suconic 1e62979577 ARTEMIS-3604 Async sends overflowing server in OpenWire 2021-12-10 15:49:26 -05: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
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
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 43ca9540be ARTEMIS-3472 Reconnect openwire could leave Openwire internal session null 2021-09-10 18:07:11 -04: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
Domenico Francesco Bruscino 3555dd7d25 ARTEMIS-3365 Add broker balancers 2021-08-06 08:33:21 -04:00
Domenico Francesco Bruscino 51801d978e ARTEMIS-3396 Convert bytes properties to String for OpenWire 2021-07-22 11:23:28 -04:00
gtully 7fc312ab5d ARTEMIS-3372 - disconnect consumers on queue deletion event 2021-07-06 16:16:33 -04:00
Justin Bertram b7f9807cd9 ARTEMIS-2919 support timestamping incoming messages 2021-07-06 14:09:00 -05:00
Justin Bertram 1d02d06eab ARTEMIS-3374 config-managed queue can be deleted by durable subscriber 2021-07-06 14:06:39 -05:00
Domenico Francesco Bruscino bafefdc8ec ARTEMIS-3338 Preserve prepared XA transactions on connection failure 2021-06-09 15:00:45 -04:00
gtully 0e77f93f83 ARTEMIS-3326 - fix state visibility between netty and actor thread after initial connection info processing. fix and test 2021-06-03 09:37:23 +01:00
gtully 815f383f9c ARTEMIS-3234 - revisit fix to deal with credit on unmatched acks, thanks to brusdev for the interceptor feature and test from ARTEMIS-2650 2021-06-02 16:23:46 +01:00
gtully 7ce9030e9f ARTEMIS-3323 - ensure openwire message id is unique and consistent for the life of a broker when converted from core 2021-06-01 19:43:25 +01:00
Justin Bertram cdaa00d470 ARTEMIS-3317 OpenWire property conversion can cause ClassCastException 2021-05-27 09:52:49 -04:00
Justin Bertram 79c9364e65 ARTEMIS-3237 logging OpenWire producer exception is confusing
Logging the exception here is potentially confusing for two main
reasons:
 1. It's not clear the exception is specifically for the client.
 2. There is likely other logging that identifies the problem.
2021-05-24 12:14:22 -05:00
Andy Taylor a34d9aad6b ARTEMIS-3295 - do not cluster advisories
https://issues.apache.org/jira/browse/ARTEMIS-3295
2021-05-14 10:08:21 -04:00
gtully 0f3d87799a ARTEMIS-3240 - ensure pending transactions are rolled back on connection failure. Fix and test 2021-04-16 10:22:06 -04:00
gtully fa80c03049 ARTEMIS-3234 - fix and test, the existing tests suffered with suppressInternalManagementObjects defaulting to true. credit accounting is now independent of the ack list such that preack for advisories can work 2021-04-12 08:29:58 -04:00
gtully 8fd1b33d16 ARTEMIS-3197 - add selectorAware option to virtualTopicConsumerWildcards for openwire acceptor 2021-03-22 19:15:02 -04:00
gtully a0ce3812ba ARTEMIS-3067, ARTEMIS-3135 - rework accounting for lazy decoding by directly referencing the owning page store, owner now tracked on a message rather than the message reference. This avoids the error prone checks around potential decoding sites 2021-02-24 15:50:13 +00:00
Domenico Francesco Bruscino 14ec3cb7b0 ARTEMIS-2976 Remove password before creating server locator 2020-11-05 11:39:35 -05:00
gtully e5566d5211 ARTEMIS-2964 - fire advisory messages via post office, independent of connection state. consume via regular auth 2020-10-29 09:58:52 +00:00
Clebert Suconic 8499eac76c ARTEMIS-2937 Server Side AMQP Connectivity with options to transfer queues or replicate data 2020-10-28 11:37:25 -04:00
Justin Bertram cdc283fba5 ARTEMIS-2915 duplicate temp queues using OpenWire 2020-09-24 12:48:36 -04:00
Justin Bertram 582a430213 ARTEMIS-2882 better support for JMS topics + FQQN
Support FQQN with JMS topics when sending to or consuming from a
specific subscription. This applies to JMS over core, OpenWire,
and AMQP.
2020-08-20 14:32:11 -05:00
brusdev 18b8df0f09 ARTEMIS-2855 Define a new broker plugin to track XA transactions 2020-07-29 10:40:55 -04:00
gtully 4e40b42521 ARTEMIS-2809 retain api used by activemq-cli-tools 2020-06-17 15:20:57 +01:00
gtully 56dbd91263 ARTEMIS-2788 clear openwire producer exchange, created on send, on producer close event 2020-06-05 10:22:44 +01:00
gtully 1a5b1fbe8e ARTEMIS-2788 clear openwire producer state on produce close event 2020-06-03 13:33:18 +01:00
Clebert Suconic 9571ca16db ARTEMIS-2753 Expanding wildcard fix to Advisories 2020-05-07 12:16:35 -04:00
Clebert Suconic c20d894e81 ARTEMIS-2753 Fixing OpenWire Temporary queue names over wildcard configurations 2020-05-06 23:24:24 -04:00