3157 Commits

Author SHA1 Message Date
Clebert Suconic
549612242a NO-JIRA removing library added by mistake 2023-09-15 12:41:20 -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
Clebert Suconic
536174e0bb ARTEMIS-4397 Fixing Upgrade command
co-authored with Domenico Francesco Bruscino <brusdev@apache.org>
2023-09-14 12:25:46 -04:00
haanhvu
6ec2131e32 ARTEMIS-3057 Add min-disk-free feature
To check if the remaining disk is enough. Alternative to max-disk-usage.
2023-09-14 17:20:43 +01: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
Robbie Gemmell
819e1a9802 NO-JIRA: make various poms indents consistent 2023-09-12 17:03:58 +01:00
Clebert Suconic
6a8cd175dc ARTEMIS-4401 improving JDBC Performance with Paging by a significant factor 2023-09-12 08:34:09 -04: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
Clebert Suconic
ab6cfe2445 ARTEMIS-4424 Unecessary AMQ212025 (not connected) when no nodes are connected
The exception thrown by serverLocator.connect() should be all you need on such case
and the caller should then be responsible for taking appropriate action.
2023-09-11 11:19:26 -04:00
Clebert Suconic
263a44e262 ARTEMIS-4421 Page counters should work before page rebuild is done 2023-09-10 19:35:38 -04:00
Clebert Suconic
4b8c7199e7 ARTEMIS-4384 Moving Cluster verify under verify group
With this you would access the same functionality as ./artemis check cluster
2023-09-08 14:08:14 -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
Clebert Suconic
47a3ee5304 ARTEMIS-4413 Improve reliability of CheckTest.testNodeCheckTopology
I have also made some other quick changes to make testing here easier.
2023-09-01 11:53:58 -04:00
Clebert Suconic
78a3e66f3d ARTEMIS-4372 Renaming --staticCluster as --static-cluster 2023-09-01 11:53:58 -04:00
Gary Tully
b11945e0c7 ARTEMIS-4410 - process deliveries before removing consumer on session close, ensure strict order for a single consumer 2023-09-01 12:52:58 +01:00
Justin Bertram
60ac0f32a5
ARTEMIS-4396 fill in some gaps 2023-08-31 11:35:00 -05:00
Robbie Gemmell
424ed6123b ARTEMIS-4412: make connection spread check less optimistic to counter sporadic failures 2023-08-31 09:48:56 +01:00
Alexey Markevich
ce8163b780 ARTEMIS-4355 Update Curator to 5.5.0; Zookeeper 3.8.2 2023-08-30 16:51: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
Justin Bertram
56c8afe934 ARTEMIS-4405 wrong user logged for authz audits 2023-08-29 15:35:22 +01:00
Robbie Gemmell
6d4fad7a4c ARTEMIS-4391: fix break in findText from prior changes
Only report finding matching log message if all requested entries are present in it, not just the last one provided.

Also fix the updated AssertionLoggerHandler usage within AddressFullLoggingTest, ensure it is active across the full period expected messages can happen and doesnt miss early ones.
2023-08-25 14:42:55 +01:00
Gary Tully
84c16f1a0d ARTEMIS-4378 ignore address federation config if connection is configured as pull, consumerWindowSize=0 2023-08-25 11:15:07 +01:00
Alexey Markevich
67f9c9d92d ARTEMIS-4391 tests: rework AssertionLoggerHandler 2023-08-17 05:47:24 -04:00
Šmucr Jan
999789bdc5 ARTEMIS-4390 Fix the upgrade-linux smoke test on Windows
The test cannot work on Windows unless I can make the `upgrade` CLI command
respect my choice to upgrade a Linux distribution. This commit therefore adds
a new `--linux` option for the `upgrade` command, and leverages it in the
`upgrade-linux` smoke test.

* The `--cygwin` option has been preserved for backwards compatibility.
* The `IS_CYGWIN` attribute has been renamed to `IS_NIX` to reflect the change.
* The OS "recognition" method (in `InstallAbstract::run`) has been updated to
  reflect the need for enforcing *nix behavior, which is now the default if all
  other methods fail.
2023-08-16 09:06:10 -04:00
Yashashree Chopada
ab3e67a24b ARTEMIS-4389 The word "mesage" should be corrected to "message" 2023-08-16 09:05:55 -04:00
Clebert Suconic
ea1a556299 ARTEMIS-4387 Improving Consumer Memory Leak test with a non empty string 2023-08-14 13:51:38 -04:00
Clebert Suconic
019b682c70 ARTEMIS-4388 Topic Distribution tests 2023-08-14 13:17:46 -04:00
Clebert Suconic
fbcdc4b1f4 ARTEMIS-4387 Memory Leak Test for null versus empty string on consumper 2023-08-14 09:45:40 -04:00
Šmucr Jan
2f2dacdd34 ARTEMIS-4387 Fix empty consumer filter string leak 2023-08-14 10:06:25 +02:00
Clebert Suconic
064018a3e9 ARTEMIS-4384 cluster verify CLI command
ARTEMIS-4385 Expand StatQueue to visualize --clustered
2023-08-11 19:12:44 -04:00
Mike Artz
c5f0e3400c ARTEMIS-4159 Support duplicate cache size configuration per address
This commit introduces support for configuring a specific Duplicate ID cache size per address in the Artemis server. Previously, there was only a global setting for the ID cache size, but now each address can have its own cache size.

The changes include the addition of a new configuration property id-cache-size in the Artemis server configuration file. This property can now be specified under each address setting in the configuration file, and its value will determine the Duplicate ID cache size for that particular address. If the id-cache-size property is not specified for an address, it will use the global setting.

The test cases have been updated to cover this new functionality, and integration test have been added to verify that address-specific cache sizes work as expected.

Documentation has been added to address-settings.adoc, configuration-index.adoc and duplicate-detection.adoc
2023-08-04 10:25:08 -05:00
Clebert Suconic
bce775c98e ARTEMIS-4382 Long Time to process export / import 2023-08-01 13:08:03 -04:00
Clebert Suconic
05f8e5d68f ARTEMIS-4372 small fixes on CLI 2023-07-31 22:31:30 -04:00
Clebert Suconic
93ee61e35c ARTEMIS-4372 Implement Pico-cli and script auto-complete
ARTEMIS-4375 Implement artemis shell using JLine3 integrated with auto-completion from picocli

This commit involves two JIRAs. One is adding PicoCLI and the next is Using JLine3 and implement a shell.
I have tried to keep these commits separate but these changes became interdependent hence the two JIRAs are squashed in this commit.
2023-07-31 10:40:27 -04:00
Justin Bertram
22e3b09b9c ARTEMIS-4370 update existing topic alias for MQTT 5 publisher 2023-07-24 12:55:05 -05:00
Clebert Suconic
04f29e0162 NO-JIRA making MirroredSubscriptionTest more challenging
The test is now setting the mirror to sync
it will block until the first subscription is consumed, kill the servers and restart them
check all the counters

and then start another 4 consumers and at the end check all the counters.

Mirror is now sync making the test more useful and challenging.
2023-07-21 18:17:08 -04: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
Clebert Suconic
6b61e9eaaf NO-JIRA Moving CLI Management to use ManagementHelper 2023-07-20 15:01:58 -04:00
Clebert Suconic
9ffe062c41 NO-JIRA Moving SimpleManagement to test-support 2023-07-20 13:33:55 -04:00
Alexey Markevich
671f48fb31 NO-JIRA remove unused SmokeTestBase#waitForServerToStart 2023-07-19 15:49:26 -04:00
Justin Bertram
c8d685ee87 ARTEMIS-4365 MQTT retain flag not set correctly 2023-07-19 12:50:05 +01:00
Clebert Suconic
e5b18b80f7 ARTEMIS-4366 Some adjustments on MirroredSubscriptionTest 2023-07-18 17:47:20 -04:00
Emmanuel Hugonnet
24dde9d4b5 ARTEMIS-4354 Allow the recovery XAResource to close and reconnect the underlying ClientSession if the connection configuration has changed.
Signed-off-by: Emmanuel Hugonnet <ehugonne@redhat.com>
2023-07-17 20:28:05 -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