Commit Graph

3464 Commits

Author SHA1 Message Date
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
a181321 68e400b45c ARTEMIS-4184 Bidges with concurrency not cleared properly on config reload 2023-07-13 16:16:08 -04:00
Clebert Suconic b967e6d940 ARTEMIS-4362 Produce log.warn when the system cannot depage because of pending acks 2023-07-13 16:15:45 -04:00
Domenico Francesco Bruscino 451d03fd75 ARTEMIS-4332 Add management method to close stuck server sessions
In rare cases a store operation could silently fails or starves, blocking the
related server session and all delivering messages. Those server sessions can
be closed adding a management method that cleans their operation context
before closing them.
2023-07-13 10:32:14 -04:00
Clebert Suconic bf9654e1fd ARTEMIS-4360 Moving skipCompatibilityTests property inside ./compatibility-tests/pom.xml 2023-07-13 07:02:15 -04:00
Clebert Suconic c9f2f53b88 ARTEMIS-4360 Make compatibility-tests opt in with -Pcompatibility-tests 2023-07-12 12:46:15 -04:00
Clebert Suconic 6ee27224a5 ARTEMIS-4352 Avod Deadlock in case the SecurityManager is reusing the Netty executor.
If the Security Manager is using Netty, and in particular the same Netty connection,
you could run into a deadlock / starvation.

This is particularly true in the Wildfly case where they reuse the same connection for everything via XNIO.
2023-07-10 11:00:19 -04: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
Justin Bertram d5213e66c1 NO-JIRA test STOMP client not disconnecting properly 2023-07-06 12:08:16 +01:00
Justin Bertram f279eede60 NO-JIRA smoke tests hanging on termination 2023-07-06 12:08:16 +01:00
Robbie Gemmell 5b86f8d59e ARTEMIS-4346: move stomp test client to artemis-test-support systest helper module 2023-07-05 09:52:48 -05:00
Robbie Gemmell cb9e1fedc8 ARTEMIS-4345: update to Error Prone 2.20.0 and fix up new errors 2023-07-05 09:40:24 +01:00
Domenico Francesco Bruscino fef7c147eb ARTEMIS-4336 Upgrade mockserver version to 5.15.0 2023-06-27 17:39:41 +01:00
Domenico Francesco Bruscino 247263c12c ARTEMIS-4335 Upgrade bcprov to bcprov-jdk18on:1.75 2023-06-27 17:39:41 +01:00
Justin Bertram b316272e14 ARTEMIS-4311 fix typo 2023-06-20 17:50:19 +01:00
Gary Tully a8b4ee1992 ARTEMIS-4314 support queue federation batchOnCapacity via consumerWindowSize=0 2023-06-16 15:44:51 +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
a181321 0f4982913f ARTEMIS-4185 Resending compressed message uncompressed throws exception in consumer 2023-06-14 17:08:40 -04:00
Clebert Suconic ef3a91bdfb ARTEMIS-4313 Retry Bridge when destination full and configured to FAIL 2023-06-14 14:06:35 -07:00
Justin Bertram 3ff8419a4b ARTEMIS-4312 dupes w/redistribution and multicast
Multiple multicast queues on the same address can lead to duplicate
messages during redistribution in a cluster.
2023-06-14 11:19:56 -04:00
a181321 582a689cdb ARTEMIS-4186 Ability to set compressionLevel for compressLargeMessages 2023-06-14 04:42:38 -07:00
Domenico Francesco Bruscino bd3c057559 ARTEMIS-4251 Support CORE client failover to other live servers
Improve the CORE client failover connecting to other live servers when all
reconnect attempts fails, i.e. in a cluster composed of 2 live servers,
when the server to which the CORE client is connected goes down the CORE
client should reconnect its sessions to the other liver broker.
2023-06-13 08:24:02 -07: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
Justin Bertram c96a074b53 ARTEMIS-4292 support more Micrometer system metrics
This commit exposes Micrometer's system metrics for:
 - file descriptors
 - processor
 - uptime
2023-06-13 04:58:59 -07:00
Clebert Suconic 4a202bccfe ARTEMIS-4308 Allowing individual DatabasePagingTest tests, also adding postgres to the list 2023-06-13 04:55:30 -07:00
Clebert Suconic b61ec81656 ARTEMIS-4308 Adding Soak tests for Paging and JDBC
I am also allowing optionally testing with mysql.
The CLI maven plugin is creating a server and downloading the JDBC jar directly into the ./server/lib folder.
Notice this is a test dependency only and it will be used only if mysql is set to true.
2023-06-09 09:48:22 -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
Clebert Suconic f03b775ac5 NO-JIRA fixing intermittent test failure 2023-06-07 18:10:42 -04:00
Justin Bertram e7de2c7001 ARTEMIS-4297 allow regex in no-cache exception config 2023-05-31 11:37:28 -07:00
Roelof Naude 40425d422a ARTEMIS-4291 Add the "broker" tag in a consistent manner to all exported metrics.
Some scrapers, e.g. prometheus, add an "instance" tag. This value may not be the same as
the broker name, which results in these metrics becoming more difficult to match up with
the corresponding broker.
2023-05-31 12:45:32 -05:00
Clebert Suconic 88f9fa494b ARTEMIS-4215 Test adjustments 2023-05-26 16:50:12 -04:00
a181321 747e0bd1e4 ARTEMIS-4215 JournalFlush might never happen when journal-sync-* is false 2023-05-26 14:29:20 -04:00
Justin Bertram 15aafe0b70 ARTEMIS-4293 add mngmnt ops to clear authn/z caches 2023-05-26 16:47:33 +02:00
Clebert Suconic ff4c697e25 NO-JIRA ignoring invalid test 2023-05-25 20:04:50 -04:00
Clebert Suconic 80e34bfba7 ARTEMIS-4290 Replacing maven-surefire deprecated property forkMode by forkCount and reuseFork 2023-05-24 22:21:16 -04:00
Justin Bertram b97d711733 ARTEMIS-4286 sometimes federated consumer won't stop 2023-05-24 18:22:33 +01:00
Clebert Suconic c7f28ad70b ARTEMIS-4290 Isolating more threads, removing disableThreadChecks 2023-05-24 11:16:49 -04:00
Clebert Suconic 0c8adee37a ARTEMIS-4290 Separating some integration tests into legacy-integration-tests
legacy-integration-tests is being created to hold LDAP Tests (or any other tests that won't play well with keeping threads clean)
it will have fork-mode=always on the maven-surefire-plugin
2023-05-23 13:52:03 -07:00
Clebert Suconic e719622de5 ARTEMIS-4285 Limit number of redelivery records 2023-05-19 13:59:28 -07:00
Justin Bertram a57c48ec55 ARTEMIS-4275 add ID to consumer notifications 2023-05-19 16:27:36 -04:00
Justin Bertram 3a48258f7d ARTEMIS-2824 clientID not set on some notifications 2023-05-19 16:03:16 -04:00
Domenico Francesco Bruscino c47d15c12a ARTEMIS-4283 Fail fast CORE client connect on closing
ServerLocatorImpl waits for topology after connecting a new session factory.
It should interrupt waiting for topology when it is closed to fail fast.
2023-05-19 08:30:58 -07:00
Clebert Suconic 1e8b5cbd72 NO-JIRA Adding retry on console tests 2023-05-18 11:09:03 -04:00
Gary Tully b664022a1e ARTEMIS-4284 - sync operwire remove consumer with the operation context to ensure prefetched messages are available to the next consumer in order
This closes #4483
2023-05-18 09:33:05 -04:00
Clebert Suconic 03afbedfe3 ARTEMIS-4282 Large Header may break the broker 2023-05-17 16:04:54 -07:00
Clebert Suconic ec54576323 ARTEMIS-4281 Queue Reaper should not remove non empty queues on initial check 2023-05-17 15:58:54 -07:00
Clebert Suconic e959e3cfe8 ARTEMIS-4279 Improving BAD JDBC Configuration Test
Test was intermittently failing. It does not matter the return code, as long as the process is not alive
2023-05-17 10:01:19 -04:00
Stephen Higgs f1f017fb3b ARTEMIS-4279 Shutdown critical analyzer thread if error on broker initialization
The broker process fails to exit if an error is encountered starting the NodeManager.  The issue is resolved by converting the critical analyzer thread to a daemon thread.  As added protection, the thread is manually stopped when this error is encountered.
2023-05-16 01:32:43 -07:00
Clebert Suconic f082b9c5d1 ARTEMIS-4199 Adding test for open transaction on reset call 2023-05-15 07:08:05 -07:00
Clebert Suconic bea39f6692 ARTEMIS-4278 Incorrect Paging Counters with Prepared Transactions 2023-05-11 13:50:00 -07:00
Justin Bertram c9c819aa88 ARTEMIS-4274 push masked credential support into core client 2023-05-10 13:55:39 -07:00
Justin Bertram 5f476896e9 ARTEMIS-4258 make tests faster & more robust 2023-05-09 09:57:32 -07:00
Justin Bertram 6ba54964bd ARTEMIS-4258 delayBeforeDispatch not working with OpenWire 2023-05-08 15:11:52 -05:00
Alexey Markevich 383345a4f6 ARTEMIS-4239 use StandardCharsets.UTF_8 2023-05-08 15:10:23 -05:00
Justin Bertram bc0b75d25a ARTEMIS-4265 make more web console tabs conditional on permission
Many of the tabs on the web console show up even though the user doesn't
have permission to execute the command corresponding to the tab. For
example the "Connections" tab shows up even though the user can't
execute the `listConnections` management operation.
2023-05-08 19:38:29 +02:00
Justin Bertram c2bada6a77 ARTEMIS-4267 original exception lost for NoCacheLoginException
When skipping the authentication cache details for the original
exception are not logged.

This commit ensures these details are logged and adopts the
ExceptionUtils class from Apache Commons Lang in lieu of the previous
custom implementation.
2023-05-08 17:01:35 +02:00
Justin Bertram 5e32a1ab62 ARTEMIS-4212 add compatibility tests 2023-05-05 11:10:53 -07:00
Justin Bertram 6254c140e3 ARTEMIS-4212 handful of updates
- fix syntax used for 'addresses' CLI option
 - update release notes
 - enforce new semantics on parsing & add test
2023-05-04 12:25:15 -07:00
Clebert Suconic f733cac08f ARTEMIS-4254 Improving Transaction test with replication to use 3 nodes 2023-05-03 13:51:56 -07:00
Domenico Francesco Bruscino fb1fa6a95f ARTEMIS-4244 Fix testSetWebBindingProperties 2023-05-03 13:27:14 +02:00
Justin Bertram dc0b3ac55a ARTEMIS-4266 mitigate NPE with bad SSL config 2023-05-03 06:26:02 +02:00
Domenico Francesco Bruscino d2a4837b69 ARTEMIS-4245 Expose web SNI settings 2023-05-02 17:18:10 +01:00
Clebert Suconic 0c80a6435f ARTEMIS-4253 Disabling invalid management test over core protocol 2023-05-01 11:28:00 -04:00
Justin Bertram acd6605ebf ARTEMIS-4212 fix tests 2023-04-28 06:54:16 -07:00
Justin Bertram 1fa5c761c6 ARTEMIS-4212 fix management address issues 2023-04-28 06:54:16 -07:00
Domenico Francesco Bruscino cc9db6b2f7 ARTEMIS-4244 Set web config using system properties 2023-04-26 17:07:32 -05:00
Justin Bertram 74fa4ca758 ARTEMIS-4212 fix sending msgs to address w/mismatching routing types
When sending, for example, to a predefined anycast address and queue
from a multicast (JMS topic) producer, the routed count on the address
is incremented, but the message count on the matching queue is not. No
indication is given at the client end that the messages failed to get
routed - the messages are just silently dropped.

Fixing this problem requires a slight semantic change. The broker is now
more strict in what it allows specifically with regards to
auto-creation. If, for example, a JMS application attempts to send a
message to a topic and the corresponding multicast address doesn't exist
already or the broker cannot automatically create it or update it then
sending the message will fail.

Also, part of this commit moves a chunk of auto-create logic into
ServerSession and adds an enum for auto-create results. Aside from
helping fix this specific issue this can serve as a foundation for
de-duplicating the auto-create logic spread across many of the protocol
implementations.
2023-04-25 16:08:31 -05:00
Clebert Suconic 101eabdda8 ARTEMIS-4254 Transactional test with replication 2023-04-25 08:11:22 -07:00
Clebert Suconic 2ffd94e682 ARTEMIS-4253 disabling a few ActiveMQServerControlUsingCoreTest tests
Some of these tests don't make sense when using the Core protocol due to noise introduced
2023-04-25 08:11:10 -07:00
Clebert Suconic fea84e39f5 ARTEMIS-4247 BrokerClustering vs Mirror code improvements 2023-04-25 08:10:58 -07:00
Clebert Suconic 0eefc38d93 ARTEMIS-4250 Spawning VM to avoid thread leaking on ShutdownOnCriticalIOErrorMoveNextTest 2023-04-24 08:06:00 -07:00
Domenico Francesco Bruscino ef4501292e ARTEMIS-4252 Fix flaky QuorumFailOverTest tests 2023-04-24 06:11:51 -07:00
Justin Bertram fde9d223ae ARTEMIS-4249 failure to create internal MQTT consumer can orphan sub q 2023-04-21 12:32:21 -05:00
Clebert Suconic 9bac93e25e ARTEMIS-4248 Fixing PagingTest::testSimpleResume
testSimpleResume is intermittently failing.
This test is forcing another page, while cleanup is happening on the background.
ForceAnotherPage may not put the address back into paging if this happened right after the cleanup call.
To fix the test, we should call startPaging after forceAnotherPage is called.
2023-04-21 11:35:45 -04:00
Clebert Suconic 2a81a0a3c6 ARTEMIS-4247 Inconsistencies between Broker Clustering and AMQP Mirror
- activemq.notifications are being transferred to the target node, unless an ignore is setup
- topics are being duplicated after redistribution
- topics sends are being duplicated when a 2 node cluster mirrors to another 2 node cluster, and both nodes are mirrored.
2023-04-21 10:30:32 -05:00
Domenico Francesco Bruscino 4e77a34c29 ARTEMIS-4243 Fix export of bindings without routing types 2023-04-20 10:01:36 +02:00
Justin Bertram 673481369f ARTEMIS-4241 paging + FQQN is broken 2023-04-17 21:51:08 +02:00
Robbie Gemmell 05f5af6eb1 ARTEMIS-4082: delete duplicate test, same as testDupsOKAcknowledgeQueue 2023-04-14 15:10:29 +01:00
Robbie Gemmell 114b88a120 ARTEMIS-4242, ARTEMIS-4082: isolate testNonBlockingAckPerf to its own queues to stop poisoning testDupsOKAcknowledgeQueue 2023-04-14 15:10:29 +01:00
Clebert Suconic 4eb978b931 ARTEMIS-4233 Disabling RefCounting debug and error after paged messages 2023-04-12 16:40:26 -07:00
Justin Bertram 8abdee29e9 ARTEMIS-4235 fix map msg conversion from OpenWire->core 2023-04-10 10:28:07 +01:00
Clebert Suconic e368dacc78 ARTEMIS-4207 Improving redistribution fix over large messages 2023-04-09 17:05:17 -07:00
Justin Bertram 6851e7d677 ARTEMIS-4204 connectors added via management are not durable 2023-04-06 11:22:18 -05:00
Clebert Suconic 6d3dbc4383 ARTEMIS-4233 Large Message Issues After Failed Clients
- interrupted message breaking reference counting
After the server writing to the client is interrupted in AMQP, the reference counting was broken what would require the server restarted
in order to cleanup the files of any interrupted sends.

- Removed consumer during large message delivery damaging large messages
If the consumer failed to deliver messages for any reason, the message on the queue would be duplicated. what would wipe out the body of the message
and other journal errors would happen because of this.

extra debug capabilities added into RefCountMessage as part of ARTEMIS-4206 in order to identify these issues
2023-04-06 07:40:01 -07:00
Clebert Suconic d9d727b9c2 ARTEMIS-4224 Optimizing memory consumption from MQTT5SoakTest 2023-04-06 07:36:10 -07:00
Clebert Suconic 301aadbf1a ARTEMIS-4237 SoakPagingTest/ReplicationFlowControlTest into soak-tests 2023-04-05 19:11:23 -07:00
Domenico Francesco Bruscino ff87b9c5cb ARTEMIS-4229 Upgrade selenium version to 4.8.3 2023-04-03 09:27:18 +01:00
Robbie Gemmell e6fbdb1d55 ARTEMIS-4223: make compatibility tests handle version qualifiers from some JDK builds, e.g -beta from some EAs. 2023-03-29 12:53:45 +01:00
Justin Bertram 448a6dee02 ARTEMIS-4209 avoid double 'ID:' for 'User ID' when browsing AMQP msgs 2023-03-28 16:21:13 -05:00
Clebert Suconic 41b2ec7efb NO-JIRA Limitting load on PotentialOOMELoggingTest
This test was generating too much data just to log an error message.
The same error message would happen with just 100 queues.
2023-03-28 09:27:19 -04:00
Clebert Suconic 6de9e30c46 NO-JIRA Limiting load on NIOJournalCompactTest
This test is boundless adding data into the journal when there are no syncs.
That's creating 600MIB worth of data on our CIs, and this tests was not meant to be acting like a soak test.
I'm limitting the load the test can generate with a TokenBucketLimiterImpl now.
2023-03-28 09:27:00 -04:00
Domenico Francesco Bruscino 2fcb24ea30 ARTEMIS-4218 Support console smoke tests from remote servers 2023-03-28 10:20:06 +01:00
Clebert Suconic 880fe86ddc NO-JIRA Moving MQTT5Test::testMaxMessageSize into a soak-test
MQTT5Test::testMaxMessageSize is spiking the memory on the integration testsuite all the way up to 1.5G
what makes this test more like a soak test.

The test is now converted to use a real server like other Soak Tests.
2023-03-27 17:47:50 -07:00
Clebert Suconic 40e9d4ebf7 NO-JIRA Trying to fix intermittent failure on ShutdownOnCriticalIOErrorMoveNextTest 2023-03-27 15:17:48 -04:00
Clebert Suconic 15d39a14ea ARTEMIS-4207 Improved fix on LargeMessage Redistribution
This fix will delay the message.copy to the redistributor itself.
Meaning no copy would be performed if the redistribution itself failed.

No need to remove a copy any longer
2023-03-27 10:45:07 -07:00
Clebert Suconic d139ad75c2 NO-JIRA Allocating less memory on soak-tests
OWLeakTests is requiring a huge 200MB string to be sent to the clients
which is using too many resources from CI
2023-03-27 10:45:07 -07:00
Clebert Suconic 95cba558e4 NO-JIRA Allocating less memory on soak-tests
These tests are requiring a huge ammount of memory from CI Servers.
I'm tunning down the memory usage and parameters on a few tests.
2023-03-27 11:07:48 -04:00
Clebert Suconic d730d1a684 NO-JIRA Testsuite speedup: proper JDBC drop from derby 2023-03-18 15:44:03 -07:00
Domenico Francesco Bruscino aaa8627795 ARTEMIS-4211 Fix record message id for federated queue consumers
The federated queue consumer has to generate a new id for the messages
received from the upstream broker because they have an id generated by
the store manager of the upstream broker.

Co-authored-by: Clebert Suconic <clebertsuconic@apache.org>
2023-03-18 08:52:21 -07:00
Clebert Suconic 3a5601572e ARTEMIS-4207 Redistribution could leave messages stranded in the folder
- redistribute received the handle call, it then copies the message
- the routing table changes
- the message is left behind

With the new version of the server these messages will be removed. But we should remove these right away
2023-03-15 12:46:50 -07:00
Clebert Suconic 4babdab18c NO-JIRA Cleanup MBeanServer usage in the testsuite as it is leaking
Basically I started the testsuite and attached check leak with "java -jar check-leak.jar --pid <pid> --report testsuite-report --sleep 1000" and saw the allocations of this were pretty high.
2023-03-15 12:42:12 -07:00
Clebert Suconic 2c037386b6 ARTEMIS-4206 Unreferenced AMQP Large Messages not removed right away, requiring a reboot 2023-03-15 05:57:51 -07:00
Justin Bertram 68c5bed159 ARTEMIS-4200 configurable link-stealing for MQTT 2023-03-10 17:51:24 -06:00
Justin Bertram 9b4204b345 ARTEMIS-4201 send proper MQTT disconnect code on stolen link 2023-03-10 17:51:24 -06:00
Domenico Francesco Bruscino 648faf58cc ARTEMIS-4169 Auto detect dead-letter and expiry queues in the console 2023-03-10 10:33:04 -06:00
Clebert Suconic 257dd86ae2 ARTEMIS-4193 Large Message Files orphaned after server killed
This fix is scanning journal and paging for existing large messages. We will remove any large messages that do not have a corresponding record in journals or paging.
2023-03-09 08:35:51 -08:00
Domenico Francesco Bruscino 7a0bf52ed8 ARTEMIS-4190 Fix config-delete-queues when address changes 2023-03-09 09:42:57 -06:00
Domenico Francesco Bruscino bb08a573eb ARTEMIS-3640 Use client connectors for HA 2023-03-09 11:20:51 +00:00
Gary Tully 00cae02ca4 ARTEMIS-4196 - set message routing type in mqtt publish 2023-03-08 14:30:30 -06:00
Clebert Suconic ed5322c54f NO-JIRA Fixing intermittent failure on ActiveMQServerControlUsingCoreTest
This failure was because of a noise from the test itself. as the test is creating a producer, and it's measuring for a producer from the test.
it makes no sense to fix it for OverCore.. we just ignore it on UsingCore
2023-03-08 12:13:17 -05:00
Clebert Suconic 08a81a7402 I had a mistake reapplying the large message fix. I'm still reworking the commit.
I apologize for this spam

This reverts commit 14536bf311.
2023-03-06 20:05:18 -05:00
Clebert Suconic 6f974a359b ARTEMIS-4171 Test showing a Leak in Proton after deliveries sent to a consumer wihtout credits and would be closed 2023-03-06 17:04:18 -08:00
Clebert Suconic 216f5a3821 ARTEMIS-4171 Test showing a memory leak in the client with Proton-J and qpid-jms 2023-03-06 17:04:18 -08:00
Clebert Suconic 14536bf311 Revert "I'm temporarily reverting "ARTEMIS-4193 Large Message Files orphaned after server killed""
This reverts commit 7e6ce5a259.
2023-03-06 17:04:18 -08:00
Clebert Suconic 7e6ce5a259 I'm temporarily reverting "ARTEMIS-4193 Large Message Files orphaned after server killed"
while I figure out a better fix

This reverts commit 9f1927d3fa.
2023-03-06 12:31:54 -05:00
Robbie Gemmell 1f3745c87d ARTEMIS-4160: update the files used for the config upgrade testing to use the new comment.
Fixes the CompareUpgradeTest by removing this unimportant difference from a fresh broker instances jolokia-access.xml file, given that we dont actually update jolokia-access.xml currently during upgrade.

Tweaks or unwinds earlier changes in aae65fd527 and 3e7cb24381
2023-03-03 14:58:22 +00:00
Justin Bertram 97c78525da ARTEMIS-4181 make try-with-resources style consistent 2023-03-03 08:40:51 -06:00
Clebert Suconic 812cdf3589 ARTEMIS-4194 Upgrade CheckLeak to 0.8 2023-03-02 21:15:17 -08:00
Clebert Suconic 9f1927d3fa ARTEMIS-4193 Large Message Files orphaned after server killed 2023-03-02 19:03:37 -08:00
Clebert Suconic aae65fd527 NO-JIRA Fixing CompareUpgradeTest 2023-03-02 18:12:51 -08:00
Clebert Suconic 3e7cb24381 NO-JIRA Adding CompareUpgradeTest to fast-tests 2023-03-02 18:12:51 -08:00
Justin Bertram 50e90cad5d ARTEMIS-4151 tighten default MBean access
This is a preventative measure to limit what users can do with any MBean
other than those in the hawtio or org.apache.activemq.artemis domains.
2023-03-02 19:17:14 -06:00
Justin Bertram b76c672305 ARTEMIS-4162 support deleting addresses & queues w/o usage check
There are certain use-cases where addresses will be auto-created and
never have a direct binding created on them. Because of this they will
never be auto-deleted. If a large number of these addresses build up
they will consume a problematic amount of heap space.

One specific example of this use-case is an MQTT subscriber with a
wild-card subscription and a large number of MQTT producers sending one
or two messages a large number of different MQTT topics covered by the
wild-card. Since no bindings are ever created on any of these individual
addresses (e.g. from a subscription queue) they will never be
auto-deleted, but they will eventually consume a large amount of heap.
The only way to deal with these addresses is to manually delete them.

There are also situations  where queues may be created and never have
any messages sent to them or never have a consumer connect. These
queues will never be auto-deleted so they must be deleted manually.

This commit adds the ability to configure the broker to skip the usage
check so that these kinds of addresses and queues can be deleted
automatically.
2023-03-02 19:17:03 -06:00
Justin Bertram 6874556f7c ARTEMIS-4188 auto-create + MDB using selector on queue 2023-03-02 16:26:12 -08:00
Clebert Suconic 8078dd098c ARTEMIS-4171 Messages leaking thorugh AMQP Delivery
there are two leaks here:

* QueueImpl::delivery might create a new iterator if a delivery happens right after a consumer was removed, and that iterator might belog to a consumer that was already closed
             as a result of that, the iterator may leak messages and hold references until a reboot is done. I have seen scenarios where messages would not be dleivered because of this.

* ProtonTransaction holding references: the last transaction might hold messages in the memory longer than expected. In tests I have performed the messages were accumulating in memory. and I cleared it here.
2023-02-28 14:36:32 -05:00
Clebert Suconic 9e524d978d ARTEMIS-4175 JournalFileImpl Leaking
I am now removing the negatives once the file is removed or reused
2023-02-28 13:54:03 -05:00
Justin Bertram fb169bc4af ARTEMIS-4172 sending large msg via core skips plugins & audit log 2023-02-16 13:34:29 -08:00
Justin Bertram 82fc42987a ARTEMIS-4171 potential large message file leak 2023-02-16 13:34:29 -08:00
Clebert Suconic c123a29f8e ARTEMIS-4161 Removing test.log left by accident 2023-02-16 16:10:28 -05:00
Clebert Suconic a2ba6ed298 ARTEMIS-4161 AMQP and OpenWire leaking leaking objects in certain conditions
The issue identified with AMQP was under Transaction usage, and while opening and closing sessions.
It seems the leak would be released once the connection is closed.

We added a new testsuite under ./tests/leak-tests To fix and validate these issues
2023-02-16 12:10:54 -08:00
Clebert Suconic 69e21a0eb7 ARTEMIS-4163 Fixing openwire race while chunkSend is happening 2023-02-09 19:58:40 -05:00
Clebert Suconic 1caa406bbf NO-JIRA Adding a test to verify TX in OpenWire Large Message Handling 2023-02-08 09:29:11 -05:00
Clebert Suconic ed5f63538e ARTEMIS-4155 Fixing deadlock on LargeMessage conversion and retention 2023-02-06 09:27:18 -05:00
Justin Bertram 8f30347b18 ARTEMIS-4143 improve mitigation against split-brain with shared-storage
Configurations employing shared-storage with NFS are susceptible to
split-brain in certain scenarios. For example:

  1) Primary loses network connection to NFS.
  2) Backup activates.
  3) Primary reconnects to NFS.
  4) Split-brain.

In reality this situation is pretty unlikely due to the timing involved,
but the possibility still exists. Currently the file lock held by the
primary broker on the NFS share is essentially worthless in this
situation. This commit adds logic by which the timestamp of the lock
file is updated during activation and then routinely checked during
runtime to ensure consistency. This effectively mitigates split-brain in
this situation (and likely others). Here's how it works now.

  1) Primary loses network connection to NFS.
  2) Backup activates.
  3) Primary reconnects to NFS.
  4) Primary detects that the lock file's timestamp has been updated and
     shuts itself down.

When the primary shuts down in step #4 the Topology on the backup can be
damaged. Protections were added for this via ARTEMIS-2868 but only for
the replicated use-case. This commit applies the protection for
removeMember() so that the Topology remains intact.

There are no tests for these changes as I cannot determine how to
properly simulate this use-case. However, there have never been robust,
automated tests for these kinds of NFS use-cases so this is not a
departure from the norm.
2023-02-03 10:40:08 -05:00
Timothy Bish d1b3610f68 ARTEMIS-2431 Stop processing Begin and Attach frames if open fails
For pipelined open cases the events processing should ignore additional begin
and attach events if the open event handler closes the connection to avoid the
processing throwing additional exceptions and replacing the error condition in
the connection with an unrelated error about NPE from the additional events.
2023-02-01 17:53:32 -05:00
Clebert Suconic 2378d187af [maven-release-plugin] prepare for next development iteration 2023-01-31 07:22:48 -05:00
Clebert Suconic 893e1e7916 [maven-release-plugin] prepare release 2.28.0 2023-01-31 07:22:47 -05:00
Clebert Suconic 764db34e9b ARTEMIS-3178 Page Limitting (max messages and max bytes)
I am adding three attributes to Address-settings:

* page-limit-bytes: Number of bytes. We will convert this metric into max number of pages internally by dividing max-bytes / page-size. It will allow a max based on an estimate.
* page-limit-messages: Number of messages
* page-full-message-policy: fail or drop

We will now allow paging, until these max values and then fail or drop messages.

Once these values are retracted, the address will remain full until a period where cleanup is kicked in by paging. So these values may have a certain delay on being applied, but they should always be cleared once cleanup happened.
2023-01-30 18:19:45 -05:00
Justin Bertram bea8d21ecd ARTEMIS-4145 MQTT shared sub queue may be inadvertently removed
o.a.a.a.c.p.m.MQTTSubscriptionManager#removeSubscription() had a chunk
of code from 971f673c60 removed. That code
was added under the assumption that there should only ever be one
consumer per queue. That was true for MQTT 3.x, but it's not always true
for MQTT 5 due to shared subscriptions. However, the tests from that
commit all still pass even with it removed now (as well as all the other
MQTT tests) so I think it's safe.
2023-01-30 12:09:40 -05:00
Justin Bertram 49f8846861 ARTEMIS-4146 reauthenticated subjects are not cached 2023-01-30 12:02:08 -05:00
Timothy Bish 4785995f58 ARTEMIS-3357 Properly compare the subscription address on client re-attach
If the client is using address prefixes to define the routing type along with
durable subscriptions then on re-attach the compairon to check if the subscription
address has changed needs to remove the prefix when comparing against the address
since the prefix isn't propagated when creating the address and will always fail
resulting in the subscription queue being deleted in error.
2023-01-27 16:28:02 -05:00
Timothy Bish 6e10908c50 ARTEMIS-3153 Add tests for address prefixes for AMQP links
Adds some tests to validate that the destination prefixes if set and
are used properly by the client are honored over the default address
auto create routing type condiguration.
2023-01-26 12:56:39 -05:00
Domenico Francesco Bruscino ac7b0e85fb ARTEMIS-4113 Fix NPE for backup brokers with connection routers
The nodeID on backup brokers is available only after they become live.
2023-01-26 09:55:31 -05:00
Timothy Bish ca66028b2a ARTEMIS-4132 AMQP Receiver default to ANYCAST when creating an address
When an AMQP client subscribes to a new address (non-existing) with a receiver link, the
address is created with routing type ANYCAST regardles of the default address creation
configuration of the broker, and ignores even the broker wide default of MULTICAST.
2023-01-23 13:09:36 -05:00
Clebert Suconic 0d3cd8d880 ARTEMIS-4136 Mirrored sync replica
I am adding an option sync=true or false on mirror. if sync, any client blocking operation will wait a roundtrip to the mirror
acting like a sync replica.
2023-01-23 12:38:11 -05:00
Justin Bertram b0ba8cae24 ARTEMIS-4137 MQTT sub-queue clean-up can fail due to auth 2023-01-23 16:18:03 +01:00
Domenico Francesco Bruscino b1207b9a56 ARTEMIS-4131 Support custom maven local repo for karaf tests 2023-01-19 10:06:36 +01:00
Justin Bertram 8a974fe89c ARTEMIS-4133 msg w/null prop value can't be consumed via STOMP 2023-01-17 12:18:49 -06:00
Ryan Highley bb8761fcd2 ARTEMIS-3790 Support masked JMS credentials
Adds standard username and password value unmasking for JMS
ActiveMQConnectionFactory instances
2023-01-17 10:25:46 -06:00
Andy Taylor b02002fc66 ARTEMIS-3875 - adding consumer and producer metrics
https://issues.apache.org/jira/browse/ARTEMIS-3875
2023-01-13 15:49:44 -05:00
Justin Bertram c190d1c72f ARTEMIS-4127 refactor multiprotocol JMS tests in AMQP package
Over time org.apache.activemq.artemis.tests.integration.amqp has become
home to many multi-protocol JMS tests even though the package is really
for AMQP-specific tests. This commit splits those tests out into their
own package.

This is a preliminary step to clarify these tests before I add another
one for a different issue.
2023-01-12 16:19:48 -05:00
Clebert Suconic abd62665ce ARTEMIS-4125 Fixing AutoCreateJmsDestinationTest::testAutoCreateOnSubscribeToTopic 2023-01-12 16:17:28 -05:00
Justin Bertram e531c61c95 ARTEMIS-4126 address not auto-created when sending MQTT msg 2023-01-09 10:46:06 -06:00
Justin Bertram 114302a093 ARTEMIS-4125 address can be removed inadvertently
When the last non-durable subscriber on a JMS topic disconnects the
corresponding queue representing the subscription is deleted as
expected. However, the queue's address will also be deleted no matter
what, which is *not* expected.
2023-01-09 10:45:56 -06:00
Justin Bertram 56167b5e13 ARTEMIS-4122 support timed refresh for LegacyLDAPSecuritySettingPlugin
Some LDAP servers (e.g. OpenLDAP) do not support the "persistent search"
feature and therefore the existing "listener" feature does not actually
fetch updates. This commit implements a "pull" feature controlled by a
configurable interval equivalent to what is implemented in the cached
LDAP authorization module from ActiveMQ "Classic."
2023-01-07 22:54:35 -06:00
Justin Bertram c354c8e642 ARTEMIS-4016 fixing tests 2023-01-07 22:54:26 -06:00
Justin Bertram bf1d81e09e ARTEMIS-3707 fixing tests
A handful of tests started to fail after the original fix was committed.
This commit fixes those failures mainly by using a mock
`TransactionSynchronizationRegistry`.

I changed `o.a.a.a.r.ActiveMQRAManagedConnection#checkTransactionActive`
slightly because `getTransactionStatus` will never return `null` unlike
`getTransaction` would. The semantics should still be the same, though.
2023-01-07 22:54:17 -06:00
Robbie Gemmell 0dcb3aba2e ARTEMIS-4110: update a few more files introduced recently from older PRs being merged 2022-12-20 09:45:52 +00:00
AntonRoskvist 04ddeb647c ARTEMIS-4016 Bridges created by management operations are removed on restart and config reload 2022-12-17 10:10:10 -06:00
AntonRoskvist 6dd7965906
ARTEMIS-3834 include paged messages sending to DLA 2022-12-17 00:03:23 -06:00
Ryan Highley 51c1504b05 ARTEMIS-3794 System Property Encryption Support
Adds support for standard Java TLS and ActiveMQ Artemis-specific override
encrypted system property values for the key store and trust store
passwords, including a separate codec property
2022-12-16 19:15:56 -06:00
Clebert Suconic 9816e1b999 ARTEMIS-3085 Fixing IOCriticalErrorListenerTest 2022-12-16 05:32:59 -05:00
Clebert Suconic f5d9eed9ce ARTEMIS-3085 Fixing test and proper wiring listener 2022-12-16 05:27:18 -05:00
Somdatta 00592d6dd8
ARTEMIS-3085 support custom IOCriticalErrorListener 2022-12-15 16:35:20 -06:00
AntonRoskvist 5c2a0d744c
ARTEMIS-4091 - Make scaleDown target more deterministic 2022-12-15 16:05:26 -06:00
Justin Bertram 038e95adb9 ARTEMIS-4109 unable to auto-delete q for MQTT retained msg 2022-12-15 13:44:55 -06:00
Justin Bertram cbd9f63a9d ARTEMIS-4115 ArrayIndexOutOfBoundsException when dup cache size is 0
Allow setting id-cache-size to 0 from broker.xml and ensure the broker
handles this gracefully. Previously you could only set the cache size to
0 via broker properties or programmatically and it would throw an
ArrayIndexOutOfBoundsException when adding an item to the cache.
2022-12-15 13:01:31 -06:00
Domenico Francesco Bruscino 635ca1fbd6 ARTEMIS-3866 Move user preferences to the send message view 2022-12-15 11:51:39 -05:00
Domenico Francesco Bruscino fa8d487ff2 ARTEMIS-3866 Authorize management message sending using context subject 2022-12-15 11:51:39 -05:00
Clebert Suconic 1de10671f8 ARTEMIS-3609 Do not use netty thread for thread completion listener 2022-12-15 10:35:43 -05:00
Clebert Suconic af9bd7b84a ARTEMIS-4065 Optimize page counters to not use the journal as often
- From now on we will save snapshots of page-counters on the journal (basically for compatibility with previous verions).
  And we will recount the records on startup.

- While the rebuild is being done the value from the previous snapshot is still available with current updates.
2022-12-15 10:30:18 -05:00
Justin Bertram ba2cbddd6b
ARTEMIS-3871 fix MQTT shared sub q naming semantics 2022-12-13 14:45:13 -06:00
Clebert Suconic ef67ea0e26 NO-JIRA Fixing intermittent failure on JMSTransactionTest
We can't block the netty thread (which is used by the Listener) otherwise everything just blocks and nothing works on the client
2022-12-13 13:35:59 -05:00
Clebert Suconic f6050b842e NO-JIRA fixing intermittent failure on ActiveMQServerControlTest 2022-12-13 12:17:26 -05:00
Justin Bertram b5e25eb4fe ARTEMIS-3871 uniquely name MQTT share sub queues 2022-12-13 11:59:08 -05:00
Clebert Suconic 4af11a04d3 NO-JIRA fixing intermittent failure on ActiveMQServerControlTest 2022-12-13 11:35:19 -05:00
Justin Bertram 499e3c119f ARTEMIS-4101 caching failed authn result on LDAP cxn failures 2022-12-13 09:07:28 -05:00
Gary Tully bfb33c7a26 ARTEMIS-4042 - remove use of codec system property from scripts as env var can now be read directly 2022-12-08 15:04:26 +00:00
Robbie Gemmell f790911c44 ARTEMIS-4110: insert standard ASF licence header comment in various cases, such as to replace a javadoc header 2022-12-07 10:21:25 +00:00
Clebert Suconic eb11b044af ARTEMIS-4108 AMQP Drain fails under load with Large Messages 2022-12-05 16:47:08 -05:00
Clebert Suconic af2b8e4b07 ARTEMIS-4084 Dealing with multi consumers crashes, Improving cached addSorted 2022-11-28 09:54:45 -05:00
Robbie Gemmell 481d07f27e ARTEMIS-4092: resolve issues with upgrade backups, tweaks for clarity and consistency, additional output detail
Adds test verifications that expected files are backed up and match pre-upgrade reference files.

This closes #4291
2022-11-23 16:05:37 +00:00
Clebert Suconic 0866a2eb88 ARTEMIS-4096 Bridge transfer is broken with AMQP Large messages 2022-11-19 11:57:28 -05:00
Domenico Francesco Bruscino 3a13a7850c ARTEMIS-4077 Add an option to disable XML external entity processing 2022-11-15 10:06:03 -06:00
Clebert Suconic 4f79eb42f5 ARTEMIS-4089 Check on AutoCreation during routing 2022-11-14 15:25:42 -05:00
Šmucr Jan 43824fc494 ARTEMIS-4078 Fix divert reloading
Reloading has been fixed for divert:
* filter
* address
* exclusive

Source address and exclusivity changes require divert redeployment.
2022-11-11 12:00:00 -06:00
Justin Bertram ca580814de ARTEMIS-4085 exclusive LVQ sending all messages to consumer 2022-11-10 13:58:53 -05:00
Clebert Suconic 42529899d0 NO-JIRA small tweak on test 2022-11-10 07:52:44 -05:00
Clebert Suconic f2e0f8713f ARTEMIS-4083 ClientLargeMessage Streaming not closing inputStream if compressed 2022-11-10 07:52:44 -05:00
Clebert Suconic 9528e45869 ARTEMIS-4083 ClientLargeMessage Streaming not closing inputStream if compressed 2022-11-10 06:27:10 -05:00
Clebert Suconic ae4475201e ARTEMIS-4084 Fixing CriticalAnalyzer policy on Test 2022-11-09 16:49:50 -05:00
Clebert Suconic 03b82142eb ARTEMIS-4084 Fixing addSorted with large transactions
when cancelling a large number of messages, the addSorted could be holding a lock for too long causing the server to crash under CriticalAnalyzer

co-authored: AntonRoskvist <anton.roskvist@volvo.com> (discovering the issue and providing the test ClientCrashMassiveRollbackTest.java)
2022-11-09 15:43:02 -05:00
Justin Bertram dce4ba3c1a [maven-release-plugin] prepare for next development iteration 2022-11-08 13:17:38 -06:00
Justin Bertram 1fd6cb6239 [maven-release-plugin] prepare release 2.27.0 2022-11-08 12:46:20 -06:00
Clebert Suconic 03dec4e2d0 ARTEMIS-4081 Comparing upgrades against fresh instances and some adjustments 2022-11-08 11:29:53 -05:00
Robbie Gemmell 304033673c ARTEMIS-4081: some small cleanups and fixups 2022-11-07 15:41:44 +00:00
Clebert Suconic 9c88fb4f88 ARTEMIS-4081 Upgrade command
This command will help updating the instance from a previous home
2022-11-04 00:13:39 -04:00
Clebert Suconic db1338af52 ARTEMIS-4020 Fixing Management DTO Parsing with custom ETC
This is fixing an issue introduced by the logging changes where a custome ETC would not work correctly.
2022-11-02 15:05:58 -04:00
Gary Tully 45ffea9ef8 ARTEMIS-4002 - support JAVA_ARGS_APPEND env var to easily modify the jdk comand line, JDK_JAVA_OPTIONS is prepend only 2022-10-28 13:59:42 +01:00
Robbie Gemmell 3a55ac72e5 ARTEMIS-4076: handle EventLoop becoming AutoClosable via ExecutorService parent on Java 19, and default method impl causing AllClassesTest to infinite loop
Adds a timeout to the test to prevent similar future issues.
2022-10-27 16:16:42 +01:00
Clebert Suconic 87ec9b5465 ARTEMIS-4045 Fixing in Handler ACKRunner on Mirror 2022-10-26 13:10:07 -04:00
Clebert Suconic d185735e55 ARTEMIS-4073 Page Counters can go off sync when multiple producers are used in the same address 2022-10-25 21:26:14 -04:00
Clebert Suconic cffc06aec8 NO-JIRA Fixing intermittent failure in PagingTest 2022-10-23 12:16:23 -04:00
Clebert Suconic c199902cde NO-JIRA Fixing intermittent failure in PagingTest
receiveImmediate will issue a depage but it might not be available right away.
A retry needs to be done.
2022-10-23 12:11:53 -04:00
Clebert Suconic b388a24b26 ARTEMIS-4056 Paging Management optimizations
- optimize startup time on paging (check-depage on startup)
- otpimize getNextPage() on complete pages
- optimize getFirstMessage() and paging. (avoid iterator usage)
2022-10-18 10:45:55 -04:00
Clebert Suconic 10a93f9203 NO-JIRA log.debug on a test 2022-10-15 00:24:19 -04:00
Clebert Suconic 0275efff29 NO-JIRA Fixing Junit Helpr methods errorprone issue in MegaCleanerPagingTest 2022-10-15 00:15:09 -04:00
Clebert Suconic 3f63e6be82 NO-JIRA Adding a test to validating paging reload
no issues found as part of this test. Just adding a new test.
2022-10-14 16:31:37 -04:00
Clebert Suconic ec00def02b ARTEMIS-4025 Fixing testsuite by adding json missing dependencies 2022-10-14 15:42:42 -04:00
Gary Tully 03ef286cc8 ARTEMIS-4025 - trap failure to apply properties as errors and report via the broker status in a configuration/properties/errors status field 2022-10-13 18:23:09 +01:00
Timothy Bish b900a1e4bd ARTEMIS-4020 Standardize the naming of Logger types for consistency
Attempt to standardize all Logger declaration to a singular variable name
which makes the code more consistent and make finding usages of loggers in
the code a bit easier.
2022-10-13 12:40:45 -04:00
Justin Bertram ea04426bcd ARTEMIS-4037 refactor MQTTRetainMessageManagerTest
Commit 5a42de5fa6 called my attention to
this test. It really needs to be refactored because:

 - It belongs in the integration-tests module rather than the MQTT
   protocol module.
 - It is using a lot of non-standard components (e.g.
   EmbeddedJMSResource, Awaitility, etc.).
 - It is overly complicated (e.g. using its own MqttClientService).

This commit resolves all those problems. The new implementation is quite
a bit different but still equivalent. I reverted the original fix from
ARTEMIS-2476 and the test still fails.
2022-10-13 17:33:43 +01:00
Justin Bertram f0ecf6bc89
NO-JIRA fix AMQP acceptor property typo 2022-10-13 11:23:51 -05:00
Justin Bertram 0ab098e456
ARTEMIS-4035 all consumers of federated queue drop if only one consumer drops 2022-10-13 10:36:38 -05:00
Clebert Suconic 49d33470f9 ARTEMIS-4041 Improve critical IO reporting 2022-10-12 10:50:33 -04:00
Justin Bertram 5343c97c7d ARTEMIS-4022 add auto-delete queue attribute to management 2022-10-11 13:16:46 -04:00
Domenico Francesco Bruscino 47e82c4ad0 NO-JIRA Add direct jakarta.annotation-api dependency to integration-tests
ResourceLoadingSslContext depends on jakarta.annotation-api
2022-10-11 09:09:08 +02:00
Clebert Suconic 33438c2e44 ARTEMIS-4029 Avoid OME When too many pages are cleared all at once
this is the second part of the fix (I missed the first part) where I am clearig midstream records as well.
2022-10-11 00:26:41 -04:00
Timothy Bish 617269319a ARTEMIS-4020: Remove string appends and various isXEnabled logger checks (add some where useful)
Logger statements should use formatting syntax and let the normal framework checks take care of
checking if a logger is enabled instead of string concats and isXEnabled logger checks except
in cases there is known expense to the specifc logging message/arg preparation or passing.

Changes from myself and Robbie Gemmell.

Co-authored-by: Robbie Gemmell <robbie@apache.org>
2022-10-07 15:40:53 -04:00
Clebert Suconic 42d07458e9 ARTEMIS-4029 Avoid OME When too many pages are cleared all at once
The issue is that depage should not put pages on the used pages as they were not actually intended to read.
instead I should create a newPageObject and not use the RefCounts caching.
2022-10-06 07:53:38 -04:00
Clebert Suconic 20fde76e99 ARTEMIS-4020 Fixing Semaphore on soak-tests/OWLeakTest
I did not intend to have this difference in the semaphore.

The idea is that we never keep messages pending on this case, otherwise such a huge message would use too much memory.
2022-10-04 15:02:10 -04:00
Clebert Suconic 18cfdb7049 ARTEMIS-4024 Avoid excessive NativeMemory allocation when sending OpenWire Multi mega sized messages in openwire 2022-10-04 13:35:50 -04:00
Clebert Suconic d2354ae470 ARTEMIS-4020 Fixing logging on soak-tests 2022-09-29 17:48:46 -04:00
Clebert Suconic 2ba6452b83 ARTEMIS-4020 removing ActiveMQTestBase::instanceLog 2022-09-29 17:46:51 -04:00
Clebert Suconic 12cc70c5bf ARTEMIS-4020 Using a little trick to create the Loggers
Trick provided by Tim Bish
2022-09-29 17:46:51 -04:00
Robbie Gemmell 9873fccf74 ARTEMIS-4020: switch to using SLF4J API for logging, use Log4J 2 as impl for broker distribution and tests
PR includes work from myself and Clebert Suconic, squashed from the new-logging branch.
2022-09-28 14:01:54 -04:00
Clebert Suconic 1a8c458906 NO-JIRA Adding a Compacting Test
I was debugging Compacting, looking for a possible issue here in these conditions.
even though I found nothing wrong with the code, I still want to keep the test as there's no such thing as enough testing.
2022-09-26 11:23:50 -04:00
Justin Bertram e47b7992ca
ARTEMIS-4010 LegacyLDAPSecuritySettingPlugin missing data
In commit a9a85f98db I removed the code
which modified existing matches. However, I forgot that the matches read
from LDAP are often duplicated so instead of always adding a new match
this commit ensures that the *right* match is modified rather than a
potentially more generic wildcard match (which was the original
problem).
2022-09-23 21:29:35 -05:00
Justin Bertram cd7555c523 ARTEMIS-3264 handle core-to-AMQP conversion failures more gracefully
If an AMQP consumer tries to receive a message and the broker is unable
to convert the message from core to AMQP then the consumer is
disconnected and the offending message stays in the queue. When the
consumer reconnects the conversion error will happen again resulting in
a loop that can only be resolved through administrative action (e.g.
deleting the message manually or sending it to a dead letter address).

This commit fixes that problem by detecting the conversion problem and
sending the message to the queue's dead letter address. It also doesn't
disconnect the consumer.

This commit also changes the log messages associated with sending a
message to the dead letter address since this event can now occur
regardless of the delivery attempts.
2022-09-22 09:55:36 -04:00
Clebert Suconic 5d8e7fe829 [maven-release-plugin] prepare for next development iteration 2022-09-21 13:00:47 -04:00
Clebert Suconic 2d7b1a3ef7 [maven-release-plugin] prepare release 2.26.0 2022-09-21 13:00:46 -04:00
Gary Tully 2d662a07f3 ARTEMIS-4007 - expose status attribute on configuration that can hold version or error state and reflect modifications via refresh 2022-09-21 11:49:26 -04:00
Tiago Bueno d8cdc24112 ARTEMIS-4005 - Fix e2e-test execution
Fix the Dockerfile name reference
Add artemis-unit-test-support module as test dependency
2022-09-20 16:38:37 +01:00
Gary Tully d7d1c2ee42 ARTEMIS-4001 - add properties url to the reload manager watch list, validate queue creation on reload with new test 2022-09-20 15:39:32 +01:00
Clebert Suconic 7bf1193380 ARTEMIS-4003 Fixing credit starve on Large Message over the bridge or clustering 2022-09-19 12:10:28 -04:00
Domenico Francesco Bruscino e7ff8fd427 ARTEMIS-3980 Remove web content from distribution 2022-09-16 11:02:25 -04:00
Justin Bertram 27008758fe
ARTEMIS-3986 CME when using LVQ
The map used by LastValueQueue was inadvertently changed to a
non-thread-safe implementation in
4a4765c39c. This resulted in an occasional
ConcurrentModificationException from the hashCode implementation.

This commit restores the thread-safe map implementation and adds a test
which brute-forces a CME when using the non-thread-safe implementation.
2022-09-15 11:11:19 -05:00
Justin Bertram 6b5a73db8a
ARTEMIS-3913 custom MQTT client ID rejection
Sometimes users want to perform custom client ID validation, and in the
case of an invalid client ID the proper reason code should be returned
in the CONNACK packet.
2022-09-14 11:50:36 -05:00
Clebert Suconic f47d592079 ARTEMIS-3988 Moving MMSFactoryTest under soak-tests 2022-09-13 23:29:20 -04:00
Clebert Suconic 59585ffc94 NO-JIRA Trying to fix StompV11Test intermittent failure 2022-09-13 23:05:22 -04:00
Justin Bertram a9a85f98db ARTEMIS-3984 LegacyLDAPSecuritySettingPlugin shouldn't modify existing matches
When the LegacyLDAPSecuritySettingPlugin has enableListener set to true
and a new permission is added it will try to modify the existing match
if one exists. This is problematic if there's a more generic wildcard
match than the specific one that's modified.

This commit fixes that problem so that instead of modifying the existing
match(es) it simply adds a new one. The plugin never should have tried
modifying the existing match in the first place as two identical matches
would be a configuration error.
2022-09-13 19:11:28 -04:00
Emmanuel Hugonnet 51ccc7d6c2
ARTEMIS-3989 ActiveMQServerControl.getRoles doesn't return all roles
- Fixing RoleInfo to provide informations on deleteAddress.
 - Adding more coverage on test to check the number of permissions
   returned.

Signed-off-by: Emmanuel Hugonnet <ehugonne@redhat.com>
2022-09-13 14:43:58 -05:00
Clebert Suconic 9fc5886391 NO-JIRA Making some Test Parameters mandatory
if you miss them, the test would rather fail then silently using less than ideal values
2022-09-13 08:38:23 -04:00
Clebert Suconic e654eba0de ARTEMIS-3987 Removing ActiveMQ Artemis Rest from the codebase.
As we discussed on the dev list, this module hasn't been used for a while, and we have been asking users to use stomp and stomp-WS instead.
2022-09-12 15:09:31 -04:00
Clebert Suconic 4ad830fb95 Bumping artemis as 3.0
After removing ActiveMQ Artemis rest (per ARTEMIS-3987), we should start promoting Artemis as 3.0
2022-09-12 15:09:31 -04:00
Robbie Gemmell e5086f447e ARTEMIS-3985: update to activemq 5.17.2 2022-09-12 12:20:14 +01:00
Clebert Suconic f953408185 ARTEMIS-3969 Removing Extra tests from the codebase 2022-09-02 13:04:53 -04:00
Clebert Suconic 11eab60584 [maven-release-plugin] prepare for next development iteration 2022-08-30 18:04:06 -04:00
Clebert Suconic fb1b362b47 [maven-release-plugin] prepare release 2.25.0 2022-08-30 18:04:05 -04:00
Rico Neubauer 6482805f7d
ARTEMIS-3922 Reducing contention on Throwable#getOurStackTrace
By allowing to pass caller's classname directly to org.apache.activemq.artemis.utils.ActiveMQThreadFactory#defaultThreadFactory instead of calculating it from stack.
2022-08-30 11:08:31 -05:00
Clebert Suconic d06459df57 ARTEMIS-3943 Adjusting defalut address settings to avoid OME from paging and flow control 2022-08-30 09:26:35 -04:00
Clebert Suconic aa4c642796 NO-JIRA Fixing intermittent failure in StompV11Test 2022-08-29 18:56:14 -04:00
Justin Bertram 755b987ab1
ARTEMIS-3958 sending LWT may recurse infinitely if disk full
Due to the changes in 682f505e32 we now
send "Last Will & Testament" MQTT messages via ServerSession. This means
sending will fail if the disk is full. For MQTT this triggers a
connection failure which in turns triggers sending an LWT message. This
process will recurse infinitely until it results in a
java.lang.StackOverflowError.

This commit fixes that by tracking whether or not sending a LWT message
is already in progress.
2022-08-26 11:13:01 -05:00
Justin Bertram 729fdc4aab ARTEMIS-3955 consolidate Subject on RemotingConnection 2022-08-25 18:12:11 -04:00
Justin Bertram 63966dcc56
ARTEMIS-3872 send scheduled msg immediately via mgmnt 2022-08-25 08:44:43 -05:00
Justin Bertram 8511cf3617
ARTEMIS-3843 add/remove connector via management 2022-08-24 17:24:29 -05:00
Justin Bertram 87e9b361bb
ARTEMIS-3785 support specifying alias for SSL keystore 2022-08-24 17:22:01 -05:00
AntonRoskvist e8337b9c2e
ARTEMIS-3933 - ScaleDown NPE on DLA resources with multiple destinations 2022-08-24 17:17:09 -05:00
Justin Bertram 86db53da9a ARTEMIS-3918 support FQQN + anycast + redistribution
When a message is sent to an anycast queue via FQQN on one node of a
cluster and then a consumer is created on that same anycast queue via
FQQN on another node in the cluster the message is not redistributed to
the node with the consumer.

This commit fixes this use-case primarily by including the FQQN info in
the notification messages sent to other nodes in the cluster.
2022-08-19 16:42:03 -04:00
Clebert Suconic c96243698d NO-JIRA Fixing suggested script for test variables
These scripts are supposed to be execute with ". ./parameters-paging.sh"
which would incur in -e, and any mistake on the shell will kill your shell and you would be wondering what happened.
2022-08-18 16:24:45 -04:00
Clebert Suconic 51825b18ba NO-JIRA: remove now-stale comments on tests that I missed when switching to cp files in 71b781d919 2022-08-18 16:07:25 -04:00
Robbie Gemmell 0ca44c0e69 NO-JIRA: remove now-stale comments missed when switching to cp files in 71b781d919 2022-08-18 11:56:35 +01:00
Robbie Gemmell 085bf79bf6 NO-JIRA: remove a couple of properties that override parent definitions and break use of the e2e-tests profile 2022-08-18 11:54:54 +01:00
Justin Bertram 682f505e32
ARTEMIS-3942 use session instead of direct routing for MQTT LWT messages
Using direct routing skips authorization for "Last Will and Testament"
messages (a.k.a. "will" messages). This commit fixes that problem by
using the internal session that is established for normal message
production and consumption.
2022-08-17 12:29:01 -05:00
Justin Bertram d158e7eff0
ARTEMIS-3925 LVQ pruning nulls
Messages without a last-value property sent to an LVQ are being pruned
rather than just passing through. Only messages with a non-null
last-value property should be subject to pruning.
2022-08-17 12:28:36 -05:00
Clebert Suconic 520088b8c6 ARTEMIS-3940 Address.maxSizeMessage is ignored on FAIL and Blocking Paging Policy 2022-08-16 16:50:51 -04:00
Clebert Suconic 2fbf2fcef0 ARTEMIS-3928 Fixing intermittent failure after executor's change 2022-08-13 22:21:56 -04:00
Clebert Suconic 252e5b0b14 ARTEMIS-3928 Limiting parallel IO in paging which would allow multiple destinations running all at once
Running HorizontalPagingTest with these variables would make the test to fail unless these changes are applied.

export TEST_HORIZONTAL_SERVER_START_TIMEOUT=300000
export TEST_HORIZONTAL_TIMEOUT_MINUTES=120
export TEST_HORIZONTAL_PROTOCOL_LIST=OPENWIRE

export TEST_HORIZONTAL_OPENWIRE_DESTINATIONS=200
export TEST_HORIZONTAL_OPENWIRE_MESSAGES=1000
export TEST_HORIZONTAL_OPENWIRE_COMMIT_INTERVAL=100
export TEST_HORIZONTAL_OPENWIRE_RECEIVE_COMMIT_INTERVAL=0
export TEST_HORIZONTAL_OPENWIRE_MESSAGE_SIZE=20000
export TEST_HORIZONTAL_OPENWIRE_PARALLEL_SENDS=10
2022-08-10 19:29:29 -04:00
Clebert Suconic 12b81e7a25 ARTEMIS-3928 Adding SoakTest for Paging with in many destinations
Also some organization on soak test to allow this test
adding CLI operation to configure memory size of the broker
2022-08-10 16:38:58 -04:00
Emmanuel Hugonnet 7fe3e5d198 ARTEMIS-3923 AddressControlImpl.getRoles doesn't return all the security role permissions.
* Adding the missing permissions to the array.

Signed-off-by: Emmanuel Hugonnet <ehugonne@redhat.com>
2022-08-08 11:20:04 +02:00
Clebert Suconic 4a7710918d NO-JIRA Moving HQ Converter into HQ client module 2022-08-02 14:32:48 -04:00
Justin Bertram dd61a651b1 ARTEMIS-3916 fix OpenWire selector with JMSMessageID
The OpenWire JMS client shipped with ActiveMQ "Classic" uses the
client's hostname as part of the `JMSMessageID`. Consumers may use this
data to select messages sent from particular hosts. Although this is
brittle and not recommended it is nonetheless possible.

However, when messages arrive to ActiveMQ Artemis they are converted
to core messages, and the broker doesn't properly map the selector from
`JMSMessageID` to the corresponding property on the underlying core
message. This commit fixes that problem. Changes include:

 - Mapping selector from JMSMessageID to the internal __HDR_MESSAGE_ID
 - Relocating some constant values so that both the protocol and commons
   module can use them
 - Adding a test
2022-08-02 09:29:25 -04:00
Clebert Suconic 71b781d919 NO-JIRA Improving dependency-scan for compatibility-tests 2022-07-29 15:12:56 -04:00
Clebert Suconic fa002728f2 [maven-release-plugin] prepare for next development iteration 2022-07-26 11:59:21 -04:00
Clebert Suconic 897d9beaef [maven-release-plugin] prepare release 2.24.0 2022-07-26 11:59:19 -04:00
Clebert Suconic 79daf49105 [maven-release-plugin] prepare for next development iteration 2022-07-21 17:44:35 -04:00
Clebert Suconic cc4867ccba [maven-release-plugin] prepare release 2.24.0 2022-07-21 17:44:33 -04:00
Domenico Francesco Bruscino 4513d2f121 NO-JIRA Fix Console QueuesTest 2022-07-21 21:40:27 +02:00
AntonRoskvist e56b5ff53f ARTEMIS-3840 Core bridges with concurrency > 1 will get removed on config reload 2022-07-21 12:36:08 -04:00
Justin Bertram 4974f2a9f0
ARTEMIS-3896 fix tests 2022-07-21 10:53:15 -05:00
Justin Bertram 14a4446ec1
ARTEMIS-3892 fix test 2022-07-21 10:53:07 -05:00
Justin Bertram a2262612ca
ARTEMIS-3892 fix tests, add docs 2022-07-20 11:36:12 -05:00
Yesenkov ff1fe7f6b5 ARTEMIS-3892 user limits not working with cert auth 2022-07-19 13:20:49 -04:00
Justin Bertram ff770d540d ARTEMIS-1964 fix and deprecate getNumberOfMessages() on AddressControl
AddressControl has 2 methods to get same metric. Both
getNumberOfMessages() and getMessageCount() return the same metric
albeit in different ways.

Also, getNumberOfMessages() inspects both "local" and "remote" queue
bindings which is wrong.

This commit fixes these issues via the following changes:

 - Deprecate getNumberOfMessages().
 - Change getNumberOfMessages() to invoke getMessageCount().
 - Add a test to ensure getNumberOfMessages() does not count remote
queue bindings.
 - Simplify getMessageCount(DurabilityType).
2022-07-19 13:08:23 -04:00
Clebert Suconic 8e54a65227 ARTEMIS-3767 Incompatibility on replication between 2.17 and current version 2022-07-18 16:34:31 -04:00
Clebert Suconic 8a6ee31055 NO-JIRA Adding a non failing test on TX send and mirror 2022-07-13 13:00:00 -04:00
Gary Tully 4a4765c39c ARTEMIS-3890 - rework LVQ implementation to ensure all messages get delivered, replacement of lvq now tied to the deliver loop. Fix issue with duplicates - bug in LinkedListImpl` 2022-07-13 00:01:16 -04:00
Domenico Francesco Bruscino 15d839a6b0
ARTEMIS-3820 Fix browsing original queue of AMQP messages 2022-07-11 13:44:33 -05:00
iliya d90179b99c ARTEMIS-3815 proper retry through IOCompletion when message not found on target queue on Mirror
co-authored Clebert Suconic
2022-06-30 17:37:27 -04:00
Clebert Suconic 68f6d8263d ARTEMIS-3743 / ARTEMIS-3766 Use ACKReason on Mirror to determine target operations and fixing Delivering statistics on Mirror
I merged these two JIRAs into one as I was doing an overal check on Mirroring
2022-06-29 19:20:03 -04:00
Clebert Suconic 3e4013d8ca ARTEMIS-3868 Journal compactor split improvement
The condition fixed on this commit should not really happen in production
as the compacting counts should always be ordered (records that were compacted earelier will always be at the top of the journal).

However it highlights an improvement that could be done on the journal compacting.
2022-06-27 14:36:36 -04:00
Robbie Gemmell 2ab0e85db4 ARTEMIS-3874: move/update various bits to allow removing many test-jar creations and dependencies 2022-06-27 09:52:54 -04:00
Robbie Gemmell d199bf3c8c ARTEMIS-3870: mark -all client deps optional in distribution pom, avoid passing on clashing/duplicate deps 2022-06-23 09:42:15 +01:00
Clebert Suconic 8d29742d40 ARTEMIS-3862 Adding Topic Durable Subscription to RemoveSubscriptionRaceTest
This commit just contains test additions
2022-06-21 13:24:33 -04:00
Robbie Gemmell 78587f0a82 NO-JIRA: remove unused methods and related dependencies left from initial copy plus some other cleanup 2022-06-20 16:37:04 +01:00
Clebert Suconic c1fd16d66a ARTEMIS-3864 StompTransactions leaking on ActiveMQServer.getSessions()
After a TX in stomp is committed, a session will never be cleared from ActiveMQServer
2022-06-17 16:57:35 -04:00
Clebert Suconic 9dd026118e ARTEMIS-3862 Short lived subscriptiong makes address size inconsistent 2022-06-17 16:57:35 -04:00
Robbie Gemmell 196e604778 NO-JIRA: suppress significant teardown stacktraces after compatibility test that is a no-op...make test itself skip 2022-06-17 13:02:37 +01:00
Clebert Suconic 342565d4c1 ARTEMIS-3850 Eliminate Page Soft Cache. Add Option to read messages based on sizing. 2022-06-14 14:53:14 -04:00
Justin Bertram c9208aafda ARTEMIS-3851 MQTT sub q exists after restart despite CleanSession=1
MQTT 3.1 and 3.1.1 clients using a clean session should have a
*non-durable* subscription queue. If the broker restarts the queue
should be removed. This is due to [MQTT-3.1.2-6] which states that the
session (and any state) must last only as long as the network
connection.
2022-06-14 14:48:45 -04:00
Clebert Suconic 3002dcefec NO-JIRA Removing ThreadRuleCheck from CompatibilityTests
This is taking too long to fininsh in certain tests. Since it's not really needed I am removing it.
2022-06-13 14:36:52 -04:00
Clebert Suconic cf2f9b4ffd ARTEMIS-3305 Compatibility tests dont work with Java 16+ 2022-06-10 17:00:27 -04:00
Clebert Suconic a3997380c7 NO-JIRA removing test-ng from groovy 2022-06-09 14:08:12 -04:00
Robbie Gemmell 88bb733232 ARTEMIS-3410: also disable related test in integration-tests module on Java 16+ for now 2022-06-09 17:28:10 +01:00
Robbie Gemmell 8ee5253281 NO-JIRA: remove ancient exclusion that doesnt match anything in the module 2022-06-09 17:11:35 +01:00
Robbie Gemmell 4581ea5f45 NO-JIRA: remove redundant test exclude for test removed/fixed in 2016 in fa67d40b9d 2022-06-09 17:08:49 +01:00
Robbie Gemmell 0c5e83b76a ARTEMIS-3854: use Process.pid() rather than reflection 2022-06-08 15:06:04 +01:00
Clebert Suconic 0fab0dae91 [maven-release-plugin] prepare for next development iteration 2022-06-07 12:39:09 -04:00
Clebert Suconic 224ca0d4d7 [maven-release-plugin] prepare release 2.23.0 2022-06-07 12:39:07 -04:00
Clebert Suconic a2dd805a2f ARTEMIS-3848 High CPU usage on ReadWriteLocks
This is caused by too many entries on the HashMap for ThreadLocals.
Also: I'm reviewing some readlock usage on the StorageManager to simplify things a little bit.
2022-05-25 12:27:57 -04:00
clebert f14ba5f742 NO-JIRA removing useless assertionRemainingMessages
JMSTestCase is deprecated anyway.
in its older form many many years ago a server would be reused over
between tests.

what forced us to make such verification to avoid messages from one test
leaking into the next.

This was because a server startup was expensive many years ago (less
efficient code and the hardware available 10 years ago)

with the current state of things this is not needed as the server will
be started from scratch on every test
2022-05-25 12:27:57 -04:00
Justin Bertram 3c6f42b12a ARTEMIS-3808 fix tests 2022-05-24 21:47:42 -04:00
Clebert Suconic b3640c9ae8 NO-JIRA Improving PagingFailoverTest with Wait.assertFalse 2022-05-23 17:49:24 -04:00
Clebert Suconic f9ec449ac4 NO-JIRA Simplifying PageCleanupWhileReplicaCatchupTest
This test is consuming too much resource and time on CI machines. Just a simplification.
2022-05-23 16:14:01 -04:00
AntonRoskvist 548747c71d
ARTEMIS-3827 anon OpenWire producer may lose sent msg 2022-05-23 13:11:15 -05:00
Justin Bertram 466597e83b
ARTEMIS-3822 get broker name via management 2022-05-23 12:03:32 -05:00
Justin Bertram 974bd5f6e1
ARTEMIS-3808 support start/stop embedded web server via mngmnt
It would be useful to be able to cycle the embedded web server if, for
example, one needed to renew the SSL certificates. To support
functionality I made a handful of changes, e.g.:

 - Refactoring WebServerComponent so that all the necessary
   configuration would happen in the start() method.
 - Refactoring WebServerComponentTest to re-use code.
2022-05-23 10:57:49 -05:00
Clebert Suconic 9b959c2fec ARTEMIS-3837 Adding support for AMQPLargeMessage.getData() 2022-05-18 08:48:08 -04:00
Gary Tully b390a6b08f ARTEMIS-3835 - deprecate addressesSettings in place of addressSettings on the Configuration bean 2022-05-18 08:13:17 +02:00
Domenico Francesco Bruscino f632e8104b ARTEMIS-3833 Preserve JMSCorrelationID of distributed AMQP large messages 2022-05-17 10:13:55 -04:00
Clebert Suconic f58db5a054 ARTEMIS-3836 PrintData may miss messages if cleanup happened in the middle of the stream 2022-05-17 09:06:47 -04:00
Domenico Francesco Bruscino 5c4d839d2d NO-JIRA Fix QueuesTest after ARTEMIS-3773 2022-05-11 09:09:14 -04:00
Justin Bertram 446ff61542
ARTEMIS-3770 refactor MQTT handling of client ID
It would be useful for security manager implementations to be able to
alter the client ID of MQTT connections.

This commit supports this functionality by moving the code which handles
the client ID *ahead* of the authentication code. There it sets the
client ID on the connection and thereafter any component (e.g. security
managers) which needs to inspect or modify it can do so on the
connection.

This commit also refactors the MQTT connection class to extend the
abstract connection class. This greatly simplifies the MQTT connection
class and will make it easier to maintain in the future.
2022-05-09 14:51:06 -05:00
Clebert Suconic e420eb4732 ARTEMIS-3817 SchedulePageCleanup operation on AddressControl 2022-05-09 09:17:56 -04:00
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 784b0e967e ARTEMIS-3810 Do not throw error resuming already active XA Transaction 2022-05-02 14:45:07 -04:00
Clebert Suconic 1dbbad5582 NO-JIRA stopping object on finalize on openWire test
trying to avoid a few test failure seen on CI
2022-04-29 08:34:25 -04:00
Clebert Suconic 48cd586ac5 ARTEMIS-3807 Simplify Redistributor avoid races, and fix ProtocolMessageLoadBalancingTest
The control existing in Redistributor is not needed as the Queue::deliver will already have a control on re-scheduling the loop and avoid holding references for too long.
2022-04-29 08:24:06 -04: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
Domenico Francesco Bruscino eb6264239e ARTEMIS-3803 Fix first NetworkHealthCheck execution
The NetworkHealthCheck hasn't to execute the default command if a custom
command is defined.
2022-04-26 17:11:48 -04:00
Clebert Suconic 1946351fce ARTEMIS-3802 Avoiding races on deleteWithID and Iterator.remove 2022-04-26 12:03:30 -04:00
Clebert Suconic 6a3df6412b NO-JIRA Fixing Thread Leakage on test from UDP thread
When running a UDP connection factory you have to either keep it running, or close it so the UDP thread is closed.
this is an issue for the testsuite as we validate for leaked threads. This needs to be fixed on the test.
2022-04-26 11:52:12 -04:00
Clebert Suconic ed5ae2c3a2 ARTEMIS-3800 Fixing failing test 2022-04-25 21:53:56 -04:00
Justin Bertram 506d59db03 ARTEMIS-3801 not getting messages on MQTT subscriptions with $ 2022-04-25 21:41:20 -04:00
Justin Bertram bcfff61e17 ARTEMIS-3800 allow CLI to delete address with queues 2022-04-25 15:39:44 -04:00
Clebert Suconic 28513e048f ARTEMIS-3753 Small Improvement on RouterContext.internalOnly calculation 2022-04-23 11:20:48 -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
Clebert Suconic c6bfe34f9e ARTEMIS-3756 Removing test that is now invalid 2022-04-22 11:29:17 -04:00
Emmanuel Hugonnet 52a4157bbb [ARTEMIS-3756]: Enabling extra parameters to be passed by the URI.
* passing the full list of parameters when creating the URI.
 * moving the WARN message to DEBUG when unknown parameters are
   received.

Jira: https://issues.apache.org/jira/browse/ARTEMIS-3756
2022-04-21 19:00:55 -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
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 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
iliya 20370d2920 ARTEMIS-3751 Do not override large message size
It is possible to receive a compressed message from the client as regular message. Such a message will already contain correct body size, that takes compression into account.
2022-04-18 15:01:44 -04:00
Clebert Suconic f4bdacbc4c ARTEMIS-3778 Streamline Expiration Reaping
Instead of holding a thread and an iterator, we should instead keep moving to next references
without holding any threads. Just with callbacks.
2022-04-14 13:04:51 -04:00
Clebert Suconic ccfd4b7a62 ARTEMIS-3776 just my OCD applying aesthetic tweaks to recediveOW.groovy 2022-04-13 12:39:31 -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
Clebert Suconic cfdb710a08 ARTEMIS-3761 Improve page cleanup to remove messages in the middle of the stream as well
Paging only removes files at the beginning of the stream...
Say you have paged files 1 through 1000...
if all the messages are ack, but one message on file 1 is missing an ack, all the 999 subsequent files would not be removed until all the messages on file 1 is ack.
This was working as engineered, but sometimes devs don't have complete control on their app.
With this improvement we will now remove messages in the middle of the stream as well.

There is also some improvement to how browsing and page work with this
2022-04-07 10:33:08 -04:00
Clebert Suconic bad1c26582 NO-JIRA Making AmqpFlowControlFailTest more accurate
this test was relying on internal details such as number of credits on the link.
The test was flaky and eventually failing or hunging.
2022-04-07 10:33:08 -04:00
Robbie Gemmell e774e4fcfb ARTEMIS-3768: update to Qpid JMS 1.6.0 2022-04-07 13:05:15 +01:00
Robbie Gemmell 6da678177a ARTEMIS-3758: clean up lots of tests that never run, remove related files + dependencies and some unnecessary deps 2022-04-07 11:29:52 +01:00
Gary Tully a739b9f068 ARTEMIS-3757 - allow system and env var substution of properties config, respect order of file loaded properties and add generic enum converter 2022-04-06 12:04:25 +02:00
Domenico Francesco Bruscino 4ff5d95b2c ARTEMIS-3752 Upgrade Spring Framework to 5.3.18 for examples and tests 2022-04-04 10:59:14 +02:00
Tiago Bueno dbd60d0afb ARTEMIS-3749 e2e-tests improvements
Scripts:
- Fix the preapre-docker.sh to exit with 0 instead of 1 on success

On pom files:
- Change e2e-tests variable names to e2e-tests.xxxxxx for clarity on
  e2e-tests variables
- Add e2e-tests.skipImageBuild variable to control if the docker image
  will be build (defaults to not build)
- Add e2e-tests.dockerfile variable to specify the dockerfile to be
  used (defaults to Dockerfile-centos)
- Bump testcontainers version to 1.16.3
- Add artemis distribution dependency since the docker image build
  depends on it

On ContainerService class:
- Fix exposePorts and exporseFolder to use SELinux shared mode
  otherwise the mount fails on machines with SELinux enabled
- Move the logic to use specific user on container from generic start
  method to broker specific method to avoid affect other images
- Update the broker image name to a more generic name (activemq-artemis
  instead of artemis-centos)
- Update the broker image tag to match with the project version in pom
  file
2022-03-30 11:48:05 -04: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
Clebert Suconic 49276ae633 NO-JIRA fixing MessagesExpiredPagingTest
There is a reference expiring in one hour. It should not leave page mode.
This is about still flowing messages, not leaving page mode.
2022-03-22 09:15:08 -04:00
Domenico Francesco Bruscino 603462a1a5 ARTEMIS-3708 Collapse key transformer into policy 2022-03-21 19:34:48 -04:00
Tiago Bueno 2a26e46a8c NO-JIRA fix ManifestTest
As the test needs the generated jms jars to be verified I moved it from
unit-tests to smoke-tests.
Updated the test to look for the correct jars as the originally
specified does not exist.
Update the test to assert against Implementation-Version instead of
ActiveMQ-Version in the manifest file as the ActiveMQ-Version property does not exist.
2022-03-21 19:00:00 -04:00
Clebert Suconic 0c651dd17b ARTEMIS-3720 Exposing global-max-messages on the CLI 2022-03-21 18:50:08 -04:00
Justin Bertram 3627ba57c9 ARTEMIS-3711 support AMQ_SCHEDULED_DELAY for OpenWire clients 2022-03-21 18:49:48 -04:00
Clebert Suconic 5f22a51926 ARTEMIS-3720 Improvements on Paging MaxMessages usage
I "used" the broker a little bit around max-messages and found a few minor issues.
2022-03-21 16:51:22 -04:00
Tiago Bueno 968e4886c8 ARTEMIS-3716 move e2e tests to e2e-tests module
Move all tests which are related to end-to-end testing from smoke-tests
module to a new module named e2e-tests.

These e2e tests are those which are dependent of ContainerService
class. ContainerService class uses artemis inside a container by using
the testcontainers library and for that reason these tests are usually
a quite slow and tecnically they are not a smoke test.

The new e2e-tests module is part of tests module but it is not enabled
by default and to get executed it requires the e2e-tests profile
specification on maven command.
2022-03-21 16:48:29 -04:00
Domenico Francesco Bruscino d0c550bcd7 ARTEMIS-3729 Fix JMS CORE client commit after async sends 2022-03-21 10:36:28 -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
Justin Bertram 1ed7cc1efc ARTEMIS-3719 DLA and expiry incorrect w/temp-queue-namespace
When using a temporary queue with a `temporary-queue-namespace` the
`AddressSettings` lookup wasn't correct. This commit fixes that and
refactors `QueueImpl` a bit so that it holds a copy of its
`AddressSettings` rather than looking them up all the time. If any
relevant `AddressSettings` changes the
`HierarchicalRepositoryChangeListener` implementation will still
refresh the `QueueImpl` appropriately.

The `QueueControlImpl` was likewise changed to get the dead-letter
address and expiry address directly from the `QueueImpl` rather than
looking them up in the `AddressSettings` repository.

I modified some code that came from ARTEMIS-734, but I ran the test that
was associated with that Jira (i.e.
`o.a.a.a.t.i.c.d.ExpireWhileLoadBalanceTest`) and it passed so I think
that should be fine. There actually was no test included with the
original commit. One was added later so it's hard to say for sure it
exactly captures the original issue.
2022-03-14 15:26:20 -04:00
Robbie Gemmell 36dcb30cda ARTEMIS-3591: stop paging checkMemory task executing twice 2022-03-14 15:26:01 -04:00
Justin Bertram f6372d8443
ARTEMIS-3698 fix test
When copying message properties from the core message to the OpenWire
message we intentially omit any properties starting with `_AMQ` and
`__HDR_`. However, we were effectively negating that logic because we
copied the marshalled properties directly to the message without any
filtering. Now that we no longer copy the marshalled properties directly
to the message the test breaks because it expects properties starting
with `__HDR_`. This commit fixes the test by removing those
expectations. The test is still valid because the message is still
receieved rather than being swallowed due to an exception (which was the
original problem).
2022-03-04 12:08:35 -06:00
Clebert Suconic e949e3843b ARTEMIS-3701 Do no block libaio on compacting or closing
I am adding a test showing it is safe to not wait pending callbacks before closing a file.
With this I can just close the file and let the kernel to deal with sending the completions.
2022-03-04 10:43:06 -05:00
Justin Bertram c376503f35 ARTEMIS-3699 expose actual port on NettyAcceptor
It sometimes makes sense to set an acceptor's port to 0 to allow the JVM
to select an ephemeral port (e.g. in embedded integration tests). This
commit adds a new getter on NettyAcceptor so tests can programmtically
determine the actual port used by the acceptor.

This commit also changes the ACCEPTOR_STARTED notification and the
related logging to clarify the actual port value where clients can
connect.
2022-03-04 13:53:06 +00:00
Robbie Gemmell dcbd4b059a ARTEMIS-3695: use specific jetty deps instead of uber jar, rationalise servlet api deps
Partially reverts c5f94f340d
2022-03-03 21:59:13 -05: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
Clebert Suconic cf49bfaa2b NO-JIRA Improving assertion on MessageExpiredPagingTest 2022-03-01 12:27:01 -05:00
Clebert Suconic 60ce5f9cf1 NO-JIRA Improving expiry test with an executor 2022-03-01 11:59:05 -05:00
gtully dcaebfb24e ARTEMIS-3660 - rename broker-balancer to connection-router 2022-03-01 11:15:16 +01:00
Domenico Francesco Bruscino 6438d6a7a8 ARTEMIS-3697 Skipping testInabilityToCreateDirectoryDuringPaging for db 2022-03-01 07:03:41 +01:00
Clebert Suconic dbeda809e3 NO-JIRA Fixing test assertion 2022-02-28 21:29:51 -05: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
Justin Bertram bc65438344
ARTEMIS-3687 bridges with concurrency > 1 can leak 2022-02-26 15:16:04 -06:00
Justin Bertram c51fda09cd
ARTEMIS-3685 support reloading bridges 2022-02-26 15:16:04 -06:00
Clebert Suconic 293b96aa45 ARTEMIS-3697 Adding test assertion on invalid IO on Paging
This commit is part of a bigger task where I am improving paging.
This test is needed to validate some of the changes I am making on further commits.
2022-02-25 14:34:44 -05:00
Domenico Francesco Bruscino b0f131f080 ARTEMIS-3694 Support remote servers for console smoke tests 2022-02-23 20:39:11 +01:00
AntonRoskvist 99b9d87bfd
ARTEMIS-2934 Add option to suppress SESSION notifications 2022-02-17 14:56:16 -06:00
AntonRoskvist 8a9f326b25
ARTEMIS-3647 - OpenWire, remove rolledbackMessageRef on Ack 2022-02-17 14:36:39 -06:00
Robbie Gemmell 5d5e6ccb20 ARTEMIS-3638: remove duplicate dependency definition to fix warning 2022-02-17 16:19:19 +00:00
Matteo Baccan 8c3f699d27 Typo error: double semicolon at the end of line 2022-02-17 10:30:33 -05:00
Matteo Baccan dc1c269b36 Fixed a typo error "unkown" -> "unknown" 2022-02-17 10:29:58 -05:00
Justin Bertram 0bc7bf3f7c
ARTEMIS-3677 add more tests 2022-02-14 12:23:16 -06:00
Justin Bertram 7b25cbb51d
ARTEMIS-3677 add test, etc. 2022-02-10 12:00:17 -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
Robbie Gemmell 22328dc188 ARTEMIS-3675: use reload4j in the optional openwire tests module 2022-02-08 17:21:31 +00:00
Domenico Francesco Bruscino bac579ac25
ARTEMIS-3573 Support PropertiesLoginModule custom password codecs 2022-02-07 20:31:30 -06:00
AntonRoskvist bf83a9b3d1
ARTEMIS-3608 - Add distribution for Multicast messages to OFF_WITH_REDISTRIBUTION to avoid message loss 2022-02-07 20:06:45 -06:00
Luis De Bello cf73e895f3
ARTEMIS-3613: Deprecating stompMaxFramePayloadLength in favour of webSocketMaxFramePayloadLength 2022-02-07 19:44:18 -06:00
Domenico Francesco Bruscino 290e5016c8
ARTEMIS-3645 Support broker balancer cache persistence 2022-02-07 19:08:00 -06:00
Justin Bertram ae7e7cbb22
ARTEMIS-2413 fix tests 2022-02-07 11:44:41 -06:00
Justin Bertram e582ce03a5
ARTEMIS-3644 add cert info to CONNECTION_CREATED notification 2022-02-04 14:37:15 -06:00
Justin Bertram f18dd80dc8 ARTEMIS-3662 remove deprecated config from default broker.xml
The auto-create-jms-queues, auto-delete-jms-queues,
auto-create-jms-topics, and auto-delete-jms-topics address settings
were deprecated in ARTEMIS-881 way back in 2016. There's no need to keep
them in the default broker.xml at this point.
2022-02-04 13:49:32 -05:00
Justin Bertram 9c459eb313 ARTEMIS-2413 upgrade JGroups
JGroups 3.x hasn't been updated in some time now. The last release was
in April 2020 almost 2 years ago. Lots of protocols have been updated
and added and users are wanting to use them. There is also increasing
concern about using older components triggered mainly by other
recently-discovered high-profile vulnerabilities in the wider Open
Source Java community.

This commit bumps JGroups up to the latest release - 5.2.0.Final.
However, there is a cost associated with upgrading.

The old-style properties configuration is no longer supported. I think
it's unlikely that end-users are leveraging this because it is not
exposed via broker.xml. The JGroups XML configuration has been around
for a long time, is widely adopted, and is still supported. I expect
most (if not all) users are using this. However, a handful of tests
needed to be updated and/or removed to deal with this absence.

Some protocols and/or protocol properties are no longer supported. This
means that users may have to change their JGroups stack configurations
when they upgrade. For example, our own clustered-jgroups example had to
be updated or it wouldn't run properly.
2022-02-04 13:47:11 -05: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
Robbie Gemmell 2c1afc4b75 ARTEMIS-3667: update to Groovy 4.0.0 2022-02-04 11:39:37 -05:00
Justin Bertram e184038d05 ARTEMIS-3670 support diverting to multiple addresses 2022-02-04 11:39:16 -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 4a6a74e1c3 NO-JIRA: use various versions from parent to be consistent, remove some duplicate yet incomplete plugin config 2022-01-28 11:34:20 +00:00
Domenico Francesco Bruscino b9243cc999 ARTEMIS-3654 Fix AllClassesTest leaks 2022-01-27 09:26:45 +01: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
gtully 90535a2401 ARTEMIS-3652 - tighten up test assertions and cleanup, track errors via connection listener and consider missing send reply 2022-01-25 17:17:35 +00:00
gtully c05177d723 ARTEMIS-3627 - allow default classpath properties name to be configured and use non intrusive property for testing, root cause of falure in test identified by ARTEMIS-3652 2022-01-24 17:18:34 +00:00
Robbie Gemmell 5e7ecfcc8a NO-JIRA: remove some test methods that are permanently disabled in one or more ways 2022-01-24 11:13:52 +00:00
Domenico Francesco Bruscino 1b07c3222a NO-JIRA Fix activemq5-unit-tests with byteman 2022-01-19 17:05:35 +01:00
gtully 10d93d9c92 ARTEMIS-3627 - support broker.properties for augmenting or supplying additional configuration via nested properties of the internal configuratinimpl bean - elements with a name attribute can be configured in collections, the type inferred by the add singular fluent api 2022-01-19 14:39:27 +00:00
Domenico Francesco Bruscino fc357213d2 NO-JIRA Fix activemq5-unit-tests with SSL 2022-01-19 10:33:56 +01:00
Domenico Francesco Bruscino cb96a89524 ARTEMIS-3616 Fix netty epoll not available 2022-01-17 12:25:59 +00:00
franz1981 52fcc0c81b ARTEMIS-3620 Journal blocking delete/update record with no sync 2022-01-13 15:35:57 -05:00
Justin Bertram 951c506481 ARTEMIS-3637 config-delete-diverts not applied properly
The address-setting config-delete-diverts is not being applied correctly
hierarchically because it's not included in the merge() method. It is
also not being persisted to disk either. This commit fixes both issues.
2022-01-12 21:06:40 -05:00
Erwin Dondorp 172d72d62d
ARTEMIS-3626 fixed simple syntax error 2022-01-12 12:09:24 -06:00
Domenico Francesco Bruscino 1c9516db6a NO-JIRA Fix activemq5-unit-tests after ARTEMIS-3546 2022-01-11 10:45:01 -05:00
Robbie Gemmell a91d3b0c0f ARTEMIS-3624: change dep mangement entry to be for the minikdc dep, add property for its version, update it and rework exclusions 2022-01-11 10:44:22 -05:00
Domenico Francesco Bruscino 055d05b9f1 NO-JIRA Fix DiscoveryTest#testSimpleBroadcast 2022-01-04 14:23:17 +01:00
Jacob Middag 2125af1b8d ARTEMIS-3625 Correctly compare Boolean object and fix NPE introduced in bf875c 2022-01-03 21:31:51 -05:00
Clebert Suconic 4e52758a62 NO-JIRA Updating activemq.org links 2021-12-20 14:46:01 -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
Marlon Müller d56d299456 ARTEMIS-3574 multiple bindings for embedded webserver
* Add BindingDTO to allow configuring multiple addresses to listen on
* Start a new ServerConnector for each binding and deploy the corresponding web-applications
* Update documentation and tests
* Add tests to verify old and new configuration style produce equal results
2021-12-14 19:16:34 -05:00
Clebert Suconic 1857017abe Revert "ARTEMIS-3574 multiple bindings for embedded webserver"
This reverts commit 182334359c.
2021-12-14 15:18:16 -05:00
Domenico Francesco Bruscino ca1accc202 ARTEMIS-3605 Fix RestDeserializationTest 2021-12-14 10:04:55 -05:00
Marlon Müller 182334359c ARTEMIS-3574 multiple bindings for embedded webserver
* Add BindingDTO to allow configuring multiple addresses to listen on
* Start a new ServerConnector for each binding and deploy the corresponding web-applications
* Update documentation and tests
* Add tests to verify old and new configuration style produce equal results
2021-12-14 09:38:59 -05:00
AntonRoskvist 7d129b36e9 Commits: 'Add redistribution to old Anycast consumers' and 'Changed redistributionDelay-check to earlier, improved test, reverted changes in ClusterTestBase' 2021-12-14 09:22:05 -05:00
Justin Bertram fac7f1692a ARTEMIS-3601 expose acceptors via management 2021-12-14 08:52:48 -05:00
Justin Bertram fb2270dc05 ARTEMIS-3535 bytes messages not obeying management limit 2021-12-13 21:58:03 -06:00
Clebert Suconic 1e62979577 ARTEMIS-3604 Async sends overflowing server in OpenWire 2021-12-10 15:49:26 -05:00
Clebert Suconic 1e89ce828c NO-JIRA fixing intermittent test failure 2021-12-10 15:49:26 -05:00
gtully 158157260c ARTEMIS-2097 - via elastic queue use case test based on ARTEMIS-3365 and ARTEMIS-3569
scenario - avoid paging, if address is full chain another broker and produce to the head, consume from the tail using producer and consumer roles to partition connections. When tail is drained, drop it.
 - adds a option to treat an idle consumer as slow
 - adds basic support for credit based address blocking ARTEMIS-2097
 - adds some more visiblity to address memory usage and balancer attribute modifier operations
2021-12-09 10:14:20 +00:00
gtully 56299e846a ARTEMIS-3054 - fix lock inversion - intermittent failure of PageCleanupWhileReplicaCatchupTest and hang 2021-12-09 10:13:26 +00:00
gtully de7a1805a4 ARTEMIS-2716 - fix up test regression in OpenWireProtocolManagerTest 2021-12-08 15:12:12 +00:00