Commit Graph

3464 Commits

Author SHA1 Message Date
Clebert Suconic 10b6ab9bd3 ARTEMIS-4986 Providing a test that will look for the distribution from a System Variable
if you define TEST_ROLLED_DISTRIBUTION=your artemis home

testRollUpgrade_Provided_Distribution will execute the rolling upgrade from that distribution
2024-08-13 16:33:00 -04:00
Clebert Suconic 537e0023fc ARTEMIS-4986 Compatibility issue on Quorum Voting 2024-08-13 14:45:00 -04:00
Justin Bertram 0ecbae6108 ARTEMIS-4939 allow config of header sizes for embedded web server 2024-08-13 10:38:06 -05:00
Timothy Bish f031481012 ARTEMIS-4982 Cleanup AMQP large message files for rejected sends
When an incoming AMQP large message send is rejected the broker should delete the
large message file as part of the reject handling.
2024-08-12 17:39:51 +01:00
Timothy Bish be4995a530 ARTEMIS-4969 Ensure AMQP senders can target FQQN if authorized
When using targeted FQQN permissions the AMQP sender needs to check that
it can access not only the address but also the queue if sent an FQQN so
that the security can validate if the sender has been granted directed
access to the FQQN as a whole.
2024-08-06 10:21:57 +01:00
Timothy Bish 8250e611df ARTEMIS-4963 Check send auth on openwire producer create
Check that an attaching Openwire producer has SEND permission on the target
destination and reject it if it does not instead of delaying checks until the
actual send. For anonymous producers check early in the send process to reduce
overhead in the JVM handling messages that are going to fail to send.
2024-08-02 16:38:20 +01:00
Clebert Suconic 47acdc4517 ARTEMIS-4964 Fast ACK Test with Mirror
One side of the mirror will send and ack messages one by one.

As the message arrives in the mirror the ack comes before the persistence finishes, so we need to retry and configure retry accordingly.
2024-08-01 23:09:54 -04:00
Clebert Suconic d7078cabf5 NO-JIRA tweak on DivertQueueMirrorTest 2024-07-30 20:44:01 -04:00
Clebert Suconic cbbaa7a8e0 NO-JIRA Mirror and Divert Smoke Test
I was doing some verification with Diverts and Mirror in the form of a smoke test.

no issue found but I'm keeping the test.
2024-07-30 20:41:53 -04:00
Howard Gao 4ce0dfca2d ARTEMIS-4959 moveMessages operation can move more messages than max messageCount 2024-07-30 11:55:53 -04:00
Howard Gao 096a869c1e ARTEMIS-4954 AddressControl.pause() can pause the snf queue 2024-07-25 19:51:30 -04:00
Timothy Bish 284ce80618 ARTEMIS-4952 Use getObjectPropertyForFilter when applying filters
When counting messages with provided filters and grouping use the API
getObjectPropertyForFilter which translates values from AMQP message
annotations that are otherwise missed by the filters.
2024-07-25 19:51:19 -04:00
Clebert Suconic fa917ae3fd [maven-release-plugin] prepare for next development iteration 2024-07-25 13:47:10 -04:00
Clebert Suconic 75f17ba64d [maven-release-plugin] prepare release 2.36.0 2024-07-25 13:47:09 -04:00
Clebert Suconic db0ba73aa4 ARTEMIS-4941 Remove lazy update after application properties only when it's paging
for regular messages it's quite obvious when the message is leaving the queue but for paged messages it becomes a challenge. We should just ignore the update for paged messages.
2024-07-25 13:01:57 -04:00
Clebert Suconic 1a5c2ec51c Revert "ARTEMIS-4941 Remove lazy update after application properties as it's no longer needed"
This reverts commit fb2a57f3ed.
2024-07-25 13:01:57 -04:00
Clebert Suconic ca44ad2a33 ARTEMIS-3509 Improving assertions in StompTest 2024-07-24 12:13:07 -04:00
Clebert Suconic e50c73eac9 Revert "ARTEMIS-3509 Improving assertions on StompTest"
Sorry for the spam, I pushed this commit by mistake / accident

This reverts commit db0a0975bb.
2024-07-24 10:42:19 -04:00
Clebert Suconic db0a0975bb ARTEMIS-3509 Improving assertions on StompTest 2024-07-24 09:59:43 -04:00
Justin Bertram 8d1a66fbbd ARTEMIS-4931 fix bridge config encoding
This commit fixes 3 distinct issues with bridge configuration encoding:

 - The encoding size was calculated incorrectly in three ways:
   - Using 0 instead of `DataConstants.SIZE_NULL` when no transformer is
     defined resulting in a calculated size discrepancy of -1.
   - Using `DataConstants.INT` instead of `DataConstants.SIZE_INT` for
     the number of transformer properties resulting in a calculated size
     discrepancy of +2 when using a configuration with a transformer.
   - Using 0 or `sizeOfNullableInteger` instead of
     `DataConstants.SIZE_INT` for the number of static connectors
     resulting in a variable calculated size discrepancy of either -4 or
     +1 respectively.
 - Encoding was using `writeString` instead of `writeNullableString` for
   the name of the transformer class resulting in an actual buffer size
   discrepancy of -1.

Aside from these fixes this commit also adds new tests specifically for
encoding & decoding include a test to verify known bytes during
encoding.

Lastly, it's worth noting that this *won't fix* bad data that was
already stored to disk by an older broker or bad data that comes over
the wire from an older broker (e.g. if a older primary broker paired
with a newer backup).
2024-07-24 14:51:55 +01:00
Justin Bertram 5c160ae1a8 ARTEMIS-4930 refactor storage manager tests
During the investigation for ARTEMIS-4910 it was noted that some of the
storage manager tests didn't actually force a full reload (i.e.
decoding) of the various configurations from disk. This commit does the
following:

 - refactors these tests so that they all force a reload from disk
 - organizes imports
 - eliminates various bits of repeated code in all the tests
 - improves code formatting

This commit exposes a bug in the encoding/decoding of
BridgeConfiguration via a failing test in
BridgeConfigurationStorageTest. This test is disabled. This failure will
be resolved in a subsequent commit at which point the test will be
enabled again.
2024-07-24 14:51:55 +01:00
Clebert Suconic ae26a8640f NO-JIRA Removing System.out from a test 2024-07-23 16:28:15 -04:00
Clebert Suconic 7c573db6a1 ARTEMIS-4949 TimedBuffer.checkSync could fail on ClosedChannelException 2024-07-23 12:56:33 -04:00
Clebert Suconic 41ec279e22 NO-JIRA Making test more resilient 2024-07-22 18:57:27 -04:00
Clebert Suconic fb2a57f3ed ARTEMIS-4941 Remove lazy update after application properties as it's no longer needed 2024-07-22 15:31:36 -04:00
Clebert Suconic 9e8df4cf7a ARTEMIS-4821 OperationContext leaking on SendAckThread
co-authored: nmeylan (test attached to the JIRA)
2024-07-21 22:23:38 -04:00
Justin Bertram 4e1daccfe3 ARTEMIS-4912 filter not enforced when sending msg to q via web console 2024-07-19 15:00:45 -05:00
Justin Bertram 4053698014
ARTEMIS-4936 make test more resilient 2024-07-19 10:58:31 -05:00
Justin Bertram 9a0797509d ARTEMIS-4936 verify response correlationId when using Core client
If, for whatever reason, the response for a packet sent with blocking
semantics is never returned it's possible that an async response
received in the interventing time will be interpreted as the current
response. This is because ChannelImpl does not verify the correlation
ID set on the response packet when it is received.
2024-07-19 07:05:46 -07:00
Clebert Suconic bcdf626efa NO-JIRA Speeding up test
Removing redundant verification that was just spending time and not being verified.
2024-07-18 16:00:37 -04:00
Clebert Suconic da7dccae87 ARTEMIS-4925 Making assertion to also consider journal and other files from the broker
Small change but say there's ever a leak on the journal. Removing the clause from paging would allow to also capture other leaks.

This is currently not an issue and the test should still pass.
2024-07-18 14:16:02 -04:00
Clebert Suconic 79708749e8 NO-JIRA Speending up a failover test
No need for the iterations, and a few minor improvements to the test.

This method was taking up to 15 seconds on the CI and the same method is reused a couple times, resulting in many minutes wasted
2024-07-18 14:16:02 -04:00
Clebert Suconic 58f9e00874 ARTEMIS-4925 adding missing assertion on the test 2024-07-17 12:02:41 -04:00
Clebert Suconic 569a07c287 ARTEMIS-4925 Allowing server reuse on a test 2024-07-17 10:19:27 -04:00
Justin Bertram 1a83220711 ARTEMIS-4910 fix divert config encoding
This commit fixes 4 distinct issues with divert configuration encoding:

 - The encoding size was calculated incorrectly in three ways:
   - Using 0 instead of `DataConstants.SIZE_NULL` when no transformer is
     defined resulting in a calculated size discrepancy of -1.
   - Using `DataConstants.INT` instead of `DataConstants.SIZE_INT` for
     the number of transformer properties resulting in a calculated size
     discrepancy of +2 when using a configuration with a transformer.
   - Using `BufferHelper.sizeOfNullableBoolean` instead of
     `DataConstants.SIZE_BOOLEAN` for the `exclusive` property resulting
     in a calculated discrepancy of +1.
 - Encoding was using `writeString` instead of `writeNullableString` for
   the name of the transformer class resulting in an actual buffer size
   discrepancy of -1.

Aside from these fixes this commit also:

 - Updates the divert storage test to force a reload from disk which
   will also trigger this problem.
 - Adds new tests specifically for encoding & decoding include a test to
   verify known bytes during encoding.

Lastly, it's worth noting that this *won't fix* bad data that was
already stored to disk by an older broker or bad data that comes over
the wire from an older broker (e.g. if a older primary broker paired
with a newer backup).
2024-07-17 14:11:21 +01:00
Clebert Suconic 4b1952e3aa ARTEMIS-4925 small tweak on test
Using a lambda to close a resource
2024-07-16 19:10:00 -04:00
Clebert Suconic 6c1134388b ARTEMIS-4925 Fixing issue with mirroring and replication
the page writes on replica should include the address where they belong to avoid leaks between the mirrorSNF and the actual addresses.
2024-07-16 17:05:06 -04:00
Clebert Suconic 5af90578cb ARTEMIS-4925 Test with mirror and replication.
Files will leak on the target and messages will not be received after failover.
Also messages will be written to wrong destinations on the replica. The leak is actually between destinations, and the consequence is the file leak.

I usually keep test and fix on the same commit, but in this case I have been heavily validating the server with and without the fix,
so I will open an exception in this case and keep the fix and test separated.
2024-07-16 17:05:06 -04:00
Justin Bertram 19d8059a4e ARTEMIS-4794 configure pending ack behavior for bridge
When a bridge is stopped it doesn't wait for pending send
acknowledgements to arrive. However, when a bridge is paused it does
wait. The behavior should be consistent and more importantly
configurable. This commit implements these improvements and generally
refactors BridgeImpl to clarify and simplify the code. In total, this
commit includes the follow changes:

 - Removes the hard-coded 60-second timeout for pending acks when
   pausing the bridge and adds a new config parameter (i.e.
   "pending-ack-timeout").
 - Applies the new pending-ack-timeout when the bridge is stopped.
 - Updates existing and adds new logging messages for clarity.
 - De-duplicates code for sending bridge-related notifications.
 - Avoids converting bridge name to/from SimpleString.
 - Removes unnecessary comments.
 - Renames variables & functions for clarity.
 - Replaces the `started`, `stopping`, & `active` booleans with a
   single `state` variable which is an enum.
 - Adds `final` to a few variables that were functionally final.
 - Synchronizes `stop` & `pause` methods to add safety when invoked
   concurrently with `handle` (since both deal with `state` and execute
   runnables on the ordered executor).
 - Reorganizes and removes a few methods for clarity.
 - Relocates `connect` method directly into `ConnectRunnable` (mirroring
   the structure of the `StopRunnable` and `PauseRunnable`).
 - Eliminates unnecessary variables in `ConnectRunnable` and
   `ScheduledConnectRunnable`.
 - Adds test to verify pending ack timeout works as expected with both
   `stop` & `pause` with both regular and large messages.
2024-07-15 18:19:39 +01:00
Timothy Bish 1361e29739 ARTEMIS-4919 Handle Exception from proton transport process
Handle any exceptions from the proton transport and set the error on the
transport for processing in the events dispatch cycle by adding in handling
of the transport error event.
2024-07-15 15:34:21 +01:00
Justin Bertram 0277c6498e ARTEMIS-4914 clarify docs on core + client ID
This commit also adds a couple of tests to verify the documented
behavior works.
2024-07-12 11:03:04 -07:00
Justin Bertram b8a9d626cd ARTEMIS-4920 strip leading forward slash from IP address 2024-07-12 11:00:53 -07:00
Robbie Gemmell 894eca55b0 ARTEMIS-4872: remove superfluous+incorrect distributionManagement for non-deployed test module 2024-07-09 10:41:24 +01:00
Clebert Suconic 0327fc31d8 ARTEMIS-3509 Concurrent Modification Exception on Stomp Transactions
Co-authored with Anant Sony
2024-07-05 14:30:58 -04:00
Robbie Gemmell 758ee8beac ARTEMIS-4908: update to commons-logging 1.3.3 2024-07-04 16:23:29 +01:00
Gary Tully 76877b7fb4 ARTEMIS-4905 fix conversion to millis for periodSeconds comparison in expiry plugin 2024-07-03 16:10:15 +01:00
Robbie Gemmell d9ee734782 ARTEMIS-4880: remove unnecessary dependency, not needed 2024-07-02 17:26:32 +01:00
Robbie Gemmell 78a0c4d233 ARTEMIS-4845: remove superfluous plugin config, not needed 2024-07-02 17:24:55 +01:00
Robbie Gemmell 3f2adcdc71 ARTEMIS-4845: dont define specific version, just use parent managed version that was already 5.1.9 2024-07-02 16:16:52 +01:00
dependabot[bot] 82f7f92d48
ARTEMIS-4897 Bump org.apache.servicemix.tooling:depends-maven-plugin
Bumps org.apache.servicemix.tooling:depends-maven-plugin from 1.2 to 1.5.0.

---
updated-dependencies:
- dependency-name: org.apache.servicemix.tooling:depends-maven-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-01 22:35:10 -05:00
dependabot[bot] dd9a89df31
ARTEMIS-4880 Bump org.osgi:org.osgi.core from 4.3.1 to 6.0.0
Bumps org.osgi:org.osgi.core from 4.3.1 to 6.0.0.

---
updated-dependencies:
- dependency-name: org.osgi:org.osgi.core
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-30 11:28:40 -05:00
dependabot[bot] f1bed68ffe
ARTEMIS-4879 Bump jmh.version from 1.26 to 1.37
Bumps `jmh.version` from 1.26 to 1.37.

Updates `org.openjdk.jmh:jmh-core` from 1.26 to 1.37
- [Commits](https://github.com/openjdk/jmh/compare/1.26...1.37)

Updates `org.openjdk.jmh:jmh-generator-annprocess` from 1.26 to 1.37
- [Commits](https://github.com/openjdk/jmh/compare/1.26...1.37)

---
updated-dependencies:
- dependency-name: org.openjdk.jmh:jmh-core
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.openjdk.jmh:jmh-generator-annprocess
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-30 11:27:45 -05:00
dependabot[bot] 13dede460a ARTEMIS-4868 Bump byteman.version from 4.0.18 to 4.0.23
Bumps `byteman.version` from 4.0.18 to 4.0.23.

Updates `org.jboss.byteman:byteman` from 4.0.18 to 4.0.23
- [Commits](https://github.com/adinn/byteman/compare/4.0.18...4.0.23)

Updates `org.jboss.byteman:byteman-submit` from 4.0.18 to 4.0.23

Updates `org.jboss.byteman:byteman-install` from 4.0.18 to 4.0.23

Updates `org.jboss.byteman:byteman-bmunit` from 4.0.18 to 4.0.23

---
updated-dependencies:
- dependency-name: org.jboss.byteman:byteman
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.jboss.byteman:byteman-submit
  dependency-type: direct:development
  update-type: version-update:semver-patch
- dependency-name: org.jboss.byteman:byteman-install
  dependency-type: direct:development
  update-type: version-update:semver-patch
- dependency-name: org.jboss.byteman:byteman-bmunit
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-27 10:11:07 -05:00
dependabot[bot] d65e82855a ARTEMIS-4862 Bump check-leak-version from 0.8 to 0.11
Bumps `check-leak-version` from 0.8 to 0.11.

Updates `io.github.check-leak:check-leak` from 0.8 to 0.11
- [Release notes](https://github.com/check-leak/check-leak/releases)
- [Commits](https://github.com/check-leak/check-leak/compare/0.8...0.11)

Updates `io.github.check-leak:checkleak-maven-plugin` from 0.8 to 0.11

---
updated-dependencies:
- dependency-name: io.github.check-leak:check-leak
  dependency-type: direct:development
  update-type: version-update:semver-minor
- dependency-name: io.github.check-leak:checkleak-maven-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-27 10:02:48 -05:00
dependabot[bot] 0d248032c7 ARTEMIS-4859 Bump org.jboss.marshalling:jboss-marshalling-river
Bumps org.jboss.marshalling:jboss-marshalling-river from 2.0.9.Final to 2.1.4.Final.

---
updated-dependencies:
- dependency-name: org.jboss.marshalling:jboss-marshalling-river
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-27 09:39:27 -05:00
dependabot[bot] 174b95a39d
ARTEMIS-4845 Bump org.apache.felix:maven-bundle-plugin from 2.5.3 to 5.1.9
Bumps org.apache.felix:maven-bundle-plugin from 2.5.3 to 5.1.9.

---
updated-dependencies:
- dependency-name: org.apache.felix:maven-bundle-plugin
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-26 14:03:34 -05:00
Justin Bertram ca73dee630 ARTEMIS-4833 remove redundant type arguments 2024-06-24 10:41:39 -07:00
Justin Bertram d7cf5dfa44 ARTEMIS-4829 use lambdas consistently
This commit uses lambdas or method references wherever possible. There
are still a handful of places that appear like they could be changed but
couldn't mainly because they use "this" and the meaning of "this"
changes when using a lambda.
2024-06-21 12:01:16 -04:00
Clebert Suconic 925e338874 ARTEMIS-4814 Speeding up WildcardAddressManagerUnitTest::testConcurrentCalls2
This test is spinning a concurrent call on getDirectBindings
Since I added a synchronization point to get the Bindings the test could
be taking up to 5 seconds, being a variance between 500ms and 5 seconds.

Adding Thread.sleep(1) on this loop solved  the issue as it is now letting other threads to do work
since I'm starting more executors than cores I have on my box.
2024-06-20 12:07:56 -04:00
Josh Byster 166adf4bfb ARTEMIS-4814 Make direct binding lookup time constant
Currently, with 500K+ queues, the cleanup step of TempQueueCleanerUpper
requires invoking WildcardAddressManager#getDirectBindings, which is
O(k) in the number of queues.

From method profiling, this can consume up to 95% of our CPU time when
needing to clean up many of these.

Add a new map to keep track of the direct bindings, and add a test
assertion that fails if we don't properly remove it.
2024-06-18 21:32:20 -04:00
Clebert Suconic ee9d016f6c NO-JIRA Adding test on WildcardAddressManagerUnitTest.java
No semantic changes here. Just keeping a test I wrote to verif something against PR #4972
2024-06-18 18:53:50 -04:00
Timothy Bish c6f227cbb8 ARTEMIS-4820 Read Header TTL as unsigned integer to set expiration
When setting expiration on the AMQPMessage the AMQP header TTL value
should be read as an unsigned integer and as such should use the longValue
API of UnsignedInteger to get the right value to set expiration.
2024-06-17 13:32:43 -05:00
Timothy Bish a6ff05ecd7 ARTEMIS-4817 Check policy credits before checking parent credits
When checking if address federation can be done the manager needs to look
at the policy level settings before looking at federation or connector
level settings for amqp credits.
2024-06-13 15:35:00 -07:00
Clebert Suconic 58e8deac2b ARTEMIS-2892 Interrupted replication could lead to restart problems 2024-06-13 17:48:29 -04:00
Clebert Suconic 106418dc74 NO-JIRA ReplayTest paging tests
No semantic changes in this commit,
I was just exploring the possibility of
issues with paging and large messages combined
and I decided to keep the test.
2024-06-13 10:21:36 -04:00
Clebert Suconic dd6c74fc1c ARTEMIS-4667 ReplayManager does not work with replication
co-authored: Jean-Pascal Briquet provided the testcase
2024-06-12 17:57:36 -04:00
Clebert Suconic f4fd259f07 [maven-release-plugin] prepare for next development iteration 2024-06-12 11:58:53 -04:00
Clebert Suconic b4d3a77649 [maven-release-plugin] prepare release 2.35.0 2024-06-12 11:58:52 -04:00
Justin Bertram e3805bd05a ARTEMIS-4795 enforce queue filter when sending to FQQN 2024-06-12 08:26:11 -04:00
Clebert Suconic 178f2e4b4d ARTEMIS-4812 Avoid IntObject accumulation after Page is set as complete
this could lead to OME if a lazy consumer is there for a long time with all pages being removed.
2024-06-11 12:03:08 -04:00
Justin Bertram 220a5ae2aa ARTEMIS-4796 add tests & remove refs 2024-06-10 14:03:00 -07:00
Justin Bertram 14c564a481 ARTEMIS-4800 simplify QueueConfiguration API
This commit does the following:

 - deprecate all QueueConfiguration ctors
 - add `of` static factory methods for all the deprecated ctors
 - replace any uses of the normal ctors with the `of` counterparts

This makes the code more concise and readable.
2024-06-10 07:58:40 -07:00
Clebert Suconic 5be983392c ARTEMIS-4798 Use original message to calculate the Mirror SNF size in order to start paging 2024-06-07 11:10:12 -04:00
Timothy Bish fad1f5274c ARTEMIS-4799 Fix broker connection receiver attach handling
The receiver attach in broker connection does not wait for the remote
attach to arrive before creating the broker side receiver plumbing which
leads to the broker treating the remote sender as an anonymous relay when
it is not and should not be. Await the remote attach in response to the
attach sent by the broker connection to finish the link setup but use the
locally defined target address vs the remote to route the incoming messages.
2024-06-07 11:21:42 +01:00
Timothy Bish ac1b483cb4 ARTEMIS-4801 Fix issue with caching address query results
When caching address query results the remote session can be blocked forever
from creating links on an address if the "does not exist" value is cached
since it is never updated again and will always report "does not exist" even
if the address is added manually via management later. The cache state can
cause other issues for long running sessions as well and should be removed
to avoid attach failures for cases where the current broker state could allow
the attach to succeed but the cached entry won't allow it.
2024-06-06 21:07:22 -04:00
Justin Bertram 7ca30e9a63 ARTEMIS-4796 simplify SimpleString API
This commit does the following:

 - deprecate the verbosely named `toSimpleString` static factory
   methods
 - add `of` static factory methods for all the ctors
 - replace any uses of the normal ctors with the `of` counterparts

This makes the code more concise and readable.
2024-06-06 11:53:03 -04:00
Clebert Suconic 047bc98cc3 NO-JIRA Reuse getMessageCount across RealServerTestBase 2024-06-05 17:33:02 -04:00
Robbie Gemmell 4ebb2cd41a ARTEMIS-4790: switch to timeout declarations with default units, tweak a few values 2024-06-05 11:40:33 +01:00
Justin Bertram de0f6ac8f5 ARTEMIS-4760 creating MQTT consumer should work if auto-create-queues is false 2024-06-05 09:06:53 +01:00
Timothy Bish 4daefbf138 ARTEMIS-4792 Allow consumer priority to be added to receiver link address
Allow the Source address to provide consumer priority on the address using the
same option value as a core consumer '?consumer-priority=X'. The change parses
any query string appended to an address and uses the address portion as the
actual receiver address and currently only looks at consumer priority values in
the extracted address query parameters and ignores any other options found. The
existing consumer priority taken from link properties takes precedence over the
value placed on the address query options if both are present.
2024-06-04 17:38:52 +01:00
Robbie Gemmell f5ecc5e219 ARTEMIS-4790: un-nest test classes to simplify 2024-06-04 12:55:00 +01:00
Clebert Suconic aade3b35f6 NO-JIRA Fixing intermittent test failures 2024-06-03 14:44:57 -04:00
Clebert Suconic 180e434b78 NO-JIRA Improving Test Reliability with max-read-page-bytes 2024-06-03 13:19:05 -04:00
Robbie Gemmell 362dbd11ac ARTEMIS-4790: use JUnit 5 for the tests 2024-06-03 10:06:37 -05:00
Clebert Suconic b9bb494b58 NO-JIRA Simplifying Test
No need to test functionality of the mirror. the intention was if the messages would arrive correctly.

Other tests are verfying functionality.
2024-06-01 14:16:40 -04:00
Clebert Suconic ae92b714e3 NO-JIRA Test improvements 2024-05-31 21:59:28 -04:00
Clebert Suconic add773e0fd NO-JIRA more information on test in case of failures 2024-05-31 16:42:25 -04:00
Timothy Bish 0650713b3e NO-JIRA Fix test failed due to missing expectation
Test should add an optional expect close as it is very occasionally able
to hit the wire and the test peer will fail if not expecting it might be.
2024-05-31 13:27:20 -07:00
Timothy Bish 892c1225b0 ARTEMIS-4788 Fix a rare race on broker shutdown in AMQP federation
Race on consumer create and broker shutdown could lead to a deadlocak trying
to access configuration from the policy manager while the federation instance
is trying to shutdown the policy manager.
2024-05-30 19:44:34 -04:00
Clebert Suconic f8dce75ac8 NO-JIRA Fixing imports after removing 2.28 2024-05-30 16:55:55 -04:00
Clebert Suconic f954212765 NO-JIRA removing 2.28 out of MirrorCompatibilityTest
2.28 had a race in its start, where you could eventually lose messages.
This was later fixed, but there's no point on testing the functionality with 2.28 as it will be always broken.
2024-05-30 16:53:36 -04:00
Clebert Suconic 4c6cded2e7 NO-JIRA Fixing intermittent test failure on PagingTest 2024-05-30 09:58:01 -04:00
Clebert Suconic 032597dba3 ARTEMIS-4786 Avoid ConcurrentModificationException while queue.destroy in page
We observed this assert error in the netty collection used for acks:

java.lang.AssertionError: null is not a legitimate internal value. Concurrent Modification?
at io.netty.util.collection.IntObjectHashMap.toExternal(IntObjectHashMap.java:103) ~[netty-common-4.1.109.Final.jar:4.1.109.Final]
at io.netty.util.collection.IntObjectHashMap.access$900(IntObjectHashMap.java:37) ~[netty-common-4.1.109.Final.jar:4.1.109.Final]
at io.netty.util.collection.IntObjectHashMap$PrimitiveIterator.value(IntObjectHashMap.java:650) ~[netty-common-4.1.109.Final.jar:4.1.109.Final]
at io.netty.util.collection.IntObjectHashMap$2$1.next(IntObjectHashMap.java:234) ~[netty-common-4.1.109.Final.jar:4.1.109.Final]

this will avoid the cleanup and rely on GC for the cleanup.

PagingLeakTest is being added to make sure the cleanup is actually not needed.
2024-05-30 09:31:32 -04:00
iliya 6b5f78bfc4 ARTEMIS-4165 Delete messages in case of queue destroy
Messages should be acked even while paging. That will allow page transactions or anything else
to be cleared accordingly.
2024-05-30 09:31:32 -04:00
Clebert Suconic 7fbd1b1a51 NO-JIRA Fixing intermittent failure on LargeMessageTest::testSendServerMessageMetrics
When the Database option is used, the packets on the ServerMessage may still be in transit.
We should sync the file on the Database before we can actually send it, otherwise we would get an assertion error on the send method.
2024-05-29 18:49:46 -04:00
Clebert Suconic 6cd9c9730b [maven-release-plugin] prepare for next development iteration 2024-05-29 12:13:17 -04:00
Clebert Suconic 30ea6eeae0 [maven-release-plugin] prepare release 2.34.0 2024-05-29 12:13:16 -04:00
Justin Bertram 4cd4ecb198
ARTEMIS-4306 fix tests 2024-05-28 21:17:50 -05:00
Clebert Suconic fa06b70134 ARTEMIS-4784 Large Messages should removed from HashMap on ReplicatioEndpoint after being closed 2024-05-28 21:04:33 -04:00
Clebert Suconic 0ca36b7b38 NO-JIRA fixing intermittent test failure on MaxMessagePagingTest 2024-05-28 20:57:53 -04:00