1157 Commits

Author SHA1 Message Date
Clebert Suconic
1887b3fb8e ARTEMIS-4564 Cleanup large message files in case of mirror duplicate detection 2024-01-15 19:13:49 -05:00
Clebert Suconic
5e7a9023d8 ARTEMIS-4560 Fixing defaults on Broker Connections for Broker Properties
ARTEMIS-4566 Allow management of Mirror SNF internal queue
2024-01-15 19:13:49 -05:00
Justin Bertram
85b2f4b126 ARTEMIS-3474 replace non-inclusive terms
This commit does the following:

 - Replaces non-inclusive terms (e.g. master, slave, etc.) in the
   source, docs, & configuration.
 - Supports previous configuration elements, but logs when old elements
   are used.
 - Provides migration documentation.
 - Updates XSD with new config elements and simplifies by combining some
    overlapping complexTypes.
 - Removes ambiguous "live" language that's used with regard to high
   availability.
 - Standardizes use of "primary," "backup," "active," & "passive" as
   nomenclature to describe both configuration & runtime state for high
   availability.
2024-01-08 13:32:31 -05:00
Justin Bertram
159416bc09 ARTEMIS-4530 clean up SessionCallback interface 2023-12-21 11:42:44 -06:00
Clebert Suconic
379dd4088f ARTEMIS-4544 Option to sync large messages 2023-12-19 16:56:14 -05:00
Justin Bertram
b0545d9c45 ARTEMIS-4529 NPE with empty core message and STOMP consumer 2023-12-07 17:29:05 +00:00
Clebert Suconic
3ec0274356 ARTEMIS-4523 Openwire leaving consumers isolated after reconnects
co-authored with Gary Tully
2023-12-04 10:47:34 -05:00
Justin Bertram
3bdef0e8e1 ARTEMIS-4512 JMS q consumer can wrongly connect to multicast queue 2023-11-28 16:46:44 -05:00
Justin Bertram
8e68bb1902 ARTEMIS-4501 clean up MQTT subscription queues when session expires 2023-11-27 12:33:35 -05:00
Justin Bertram
60200b44e2 ARTEMIS-4506 restore MQTT sub queue name syntax
Starting with 2.28.0, the broker doesn't translate the character `/` to
the configured wildcard delimiter (i.e. `.` by default) when creating
subscription queues for MQTT clients.

This commit fixes that regression and restores the proper translation.
2023-11-27 11:51:22 -05:00
Gary Tully
91fd12ad1f ARTEMIS-4480: rationalise openwire session tx usage and operation context usage, use completion callbacks to ensure exclusive consumers are isolated 2023-11-20 12:20:36 +00:00
Timothy Bish
93a74dc00c ARTEMIS-4502 Support core messages crossing broker connection links
Allow for core messages to be tunneled over broker connection links used
for AMQP Federation and for broker mirroring. This eliminates the need to
convert from Core to AMQP and from loading core large messages fully into
memory for that conversion.
2023-11-16 17:55:08 +00:00
Clebert Suconic
3cdd6cc672 ARTEMIS-4483 Avoid log.warn on regular AMQP closing 2023-11-13 11:02:04 -05:00
Clebert Suconic
18692ec3c4 ARTEMIS-4476 Fixing Ghost consumer situation with AMQP 2023-11-09 15:09:35 -05:00
Robbie Gemmell
66dd52fcf2 ARTEMIS-4490: update to SLF4J 2.0.9 2023-11-03 17:55:48 +00:00
Robbie Gemmell
bbe40c4b45 [maven-release-plugin] prepare for next development iteration 2023-10-27 11:14:45 +01:00
Robbie Gemmell
f4bccc1a26 [maven-release-plugin] prepare release 2.31.2 2023-10-27 11:14:19 +01:00
Clebert Suconic
845648526f [maven-release-plugin] prepare for next development iteration 2023-10-25 14:45:43 -04:00
Clebert Suconic
5a1c9bf3d1 [maven-release-plugin] prepare release 2.31.1 2023-10-25 14:45:41 -04:00
Justin Bertram
055100751c ARTEMIS-4459 log when ignoring dupe MQTT QoS2 pub
In accordance with the QoS2 protocol outlined in the MQTT
specification(s), once the broker receives a PUBLISH then any other
PUBLISH it receives on that same session with the same packet ID must be
ignored until the QoS2 protocol for that ID is completed.

The broker does this, but it doesn't log anything so it's not clear when
this is actually happening.
2023-10-16 20:32:20 -04:00
Chao Wang
3392d084a9 ARTEMIS-4435 Add missing MANIFEST.MF content for Artemis artifacts. 2023-10-11 08:12:05 -05:00
Robbie Gemmell
ef5fb0b1f1 ARTEMIS-4451: fix non-SASL AMQP connections when resource audit logging enabled 2023-10-04 16:12:02 +01:00
Gary Tully
8f9a72d257 ARTEMIS-4432 respect actor and operation context for openwire connection failure processing 2023-09-20 15:25:50 +01:00
Clebert Suconic
0d2a94b006 [maven-release-plugin] prepare for next development iteration 2023-09-15 14:40:49 -04:00
Clebert Suconic
74f08ea059 [maven-release-plugin] prepare release 2.31.0 2023-09-15 14:40:45 -04:00
Timothy Bish
e8d92b3bc5 ARTEMIS-4431 Re-encode the AMQP message annotations if hops are updates
When updating or adding the hops value the AMQP message needs a re-encode to
carry that value forward when the message is sent to the next broker.
2023-09-15 16:41:43 +01:00
Clebert Suconic
784aa9f884 [maven-release-plugin] prepare for next development iteration 2023-09-14 16:54:07 -04:00
Clebert Suconic
816b0828eb [maven-release-plugin] prepare release 2.31.0 2023-09-14 16:54:05 -04:00
Clebert Suconic
6c9ddfd460 [maven-release-plugin] prepare for next development iteration 2023-09-14 14:58:10 -04:00
Clebert Suconic
30e4df8ff8 [maven-release-plugin] prepare release 2.31.0 2023-09-14 14:58:07 -04:00
Justin Bertram
af2672e79a ARTEMIS-966 MQTT subscription state isn't durable
Durable subscrption state is part of the MQTT specification which has
not been supported until now. This functionality is implemented via an
internal last-value queue. When an MQTT client creates, updates, or
adds a subscription a message using the client-ID as the last-value is
sent to the internal queue. When the broker restarts this data is read
from the queue and populates the in-memory MQTT data-structures.
Therefore subscribers can reconnect and resume their session's
subscriptions without have to manually resubscribe.

MQTT state is now managed centrally per-broker rather than in the
MQTTProtocolManager since there is one instance of MQTTProtocolManager
for each acceptor allowing MQTT connections. Managing state per acceptor
would allow odd behavior with clients connecting to different acceptors
with the same client ID.

The subscriptions are serialized as raw bytes with a "version" byte for
potential future use, but I intentionally avoided adding complex
scaffolding to support multiple versions. We can add that complexity
later if necessary.

Some tests needed to be changed since instantiating an MQTT protocol
manager now creates an internal queue. A handful of tests assume that no
queues will exist other than the ones they create themselves. I updated
the main test super-class so that an MQTT protocol manager is not
automatically instantiated when configuring a broker for in-vm support.
2023-09-13 11:28:53 +01:00
Timothy Bish
d830f04de8 ARTEMIS-4419 Add federation support to AMQP broker connections
Allows federation of addresses and queues over an outbound AMQP broker
connection and provide configuration via XML or broker propeties.
2023-09-11 16:38:36 -04:00
Gary Tully
91debf25db ARTEMIS-4418 use consumer delivery sequence in messageId for openwire broker sequence id, makes delivery count calculation independent of message order 2023-09-07 15:24:35 +01:00
Alexey Markevich
50a1824c02 ARTEMIS-4349: Replace Guava cache with Caffeine
Combination of changes from Alexey Markevich with updates from Robbie Gemmell. See PRs for detail.

This closes #4584.
This closes #4540.
2023-08-29 16:00:53 +01:00
Robbie Gemmell
df410da7ae ARTEMIS-4402: add some unit tests exercising the semi-generated log/message bundles to make generation problems more quickly noticable 2023-08-25 15:02:24 +01:00
Justin Bertram
22e3b09b9c ARTEMIS-4370 update existing topic alias for MQTT 5 publisher 2023-07-24 12:55:05 -05:00
Justin Bertram
7048d9d4a5 [maven-release-plugin] prepare for next development iteration 2023-07-20 14:39:21 -05:00
Justin Bertram
f05b63b8a1 [maven-release-plugin] prepare release 2.30.0 2023-07-20 14:36:44 -05:00
Justin Bertram
c8d685ee87 ARTEMIS-4365 MQTT retain flag not set correctly 2023-07-19 12:50:05 +01:00
Clebert Suconic
29deb30c73 ARTEMIS-4366 Some Adjustment to class names on Mirror
This is in relation to comments from PR #4555
2023-07-18 13:11:24 -04:00
Clebert Suconic
677d71b8e7 ARTEMIS-4366 Missing Mirrored ACKs with MULTICAST and subscriptions 2023-07-17 20:19:06 -04:00
Justin Bertram
cce565e78f ARTEMIS-4353 clean up Maven dependencies
This commit contains the following changes:
 - eliminate used, undeclared dependencies
 - eliminate unused, declared dependencies
 - fix scope for test dependencies
 - eliminate org.hamcrest completely as its use involved deprecated code
   as well as dependencies from multiple versions
2023-07-14 14:03:41 +01:00
Justin Bertram
2d1a8661fd ARTEMIS-4338 STOMP inoperable w/resource audit logging
When resource audit logging is enabled STOMP is completely inoperable
due to an NPE during the protocol handshake. Unfortunately the failure
is completely silent. There are no logs to indicate a problem.

This commit fixes this problem via the following changes:
 - Mitigate the original NPE via a check for null
 - Move the logic necessary to set the "protocol connection" on the
   "transport connection" to a class shared by all implementations.
 - Add exception handling to log failures like this in the future.
 - Add tests to ensure the audit logging is correct.
2023-07-06 12:08:16 +01:00
Artyom Tarasenko
fb4c68681e ARTEMIS-4095: fix delivering message size accounting
Signed-off-by: Artyom Tarasenko <atar4qemu@gmail.com>
2023-07-05 12:35:33 -05:00
Justin Bertram
69ae79ad84 ARTEMIS-4277 upgrade checkstyle 2023-06-20 18:04:05 +01:00
Justin Bertram
b316272e14 ARTEMIS-4311 fix typo 2023-06-20 17:50:19 +01:00
Clebert Suconic
ae554b43db [maven-release-plugin] prepare for next development iteration 2023-06-14 18:20:58 -04:00
Clebert Suconic
2be5c54cd0 [maven-release-plugin] prepare release 2.29.0 2023-06-14 18:20:45 -04:00
Peter Brady
2f5463c960 ARTEMIS-4309 Read all bytes of compressed objmsg
Continually read from the compressed byte[] into
the decompressed object

Add test to validate large (>1024 bytes) compressed data can be
deserialized properly
2023-06-13 05:50:37 -07:00
Clebert Suconic
cea9ff6667 ARTEMIS-4259 JMS consumer + FQQN + selector not working
co-authored with Justin Bertram
2023-06-07 15:15:21 -07:00