Commit Graph

1541 Commits

Author SHA1 Message Date
Justin Bertram 84067d8fef ARTEMIS-2504 implement retroactive addresses
A new feature to preserve messages sent to an address for queues that will be
created on the address in the future. This is essentially equivalent to the
"retroactive consumer" feature from 5.x. However, it's implemented in a way
that fits with the address model of Artemis.
2019-10-28 09:01:42 -04:00
Justin Bertram c0e77e96d1 ARTEMIS-2529 update address-settings mngmnt 2019-10-28 09:01:42 -04:00
Christopher L. Shannon (cshannon) ad0581bf76 ARTEMIS-2531: Fix filter in FederatedQueue to prevent infinite consumer
creation in a circular or bidrectional setup
2019-10-25 14:26:46 -04:00
Christopher L. Shannon (cshannon) 1aed3f9dd6 ARTEMIS-2526 - Update ActiveMQServerImpl to call correct
beforeDestroyQueue hook
2019-10-24 16:20:08 -04:00
Wei Yang 89698b9dbc ARTEMIS-2524 Remove message from map in LVQ if it's deleted/moved/expired/changed 2019-10-21 20:46:13 -04:00
brusdev 98746a20a1 ARTEMIS-2523 Deprecate the parameter failoverOnInitialConnection
The parameter failoverOnInitialConnection wouldn't seem to be used and
makes no sense any more, because the connectors are retried in a loop.
So someone can just add the backup in the initial connection.
2019-10-21 07:04:21 +02:00
Howard Gao 6177d32774 ARTEMIS-2513 Large message's copy may be interfered by other threads
In LargeMessageImpl.copy(long) it need to open the underlying
file in order to read and copy bytes into the new copied message.
However there is a chance that another thread can come in and close
the file in the middle, making the copy failed
with "channel is null" error.

This is happening in cases where a large message is sent to a jms
topic (multicast address). During delivery it to multiple
subscribers, some consumer is doing delivery and closed the
underlying file after. Some other consumer is rolling back
the messages and eventually move it to DLQ (which will call
the above copy method). So there is a chance this bug being hit on.
2019-10-14 15:59:31 -04:00
Clebert Suconic 149e26075b NO-JIRA Replacing assertEquals(queue.getCount) by Wait.asserEquals on a test 2019-10-11 08:59:33 -04:00
brusdev 28d1a53630 ARTEMIS-2508 Crititical analyser trigger shutdown if removeAllMessages
The crititical analyser trigger the broker shutdown if try to
removeAllMessages with a huge queue. The iterQueue is split so as
not to keep the lock too time.
2019-10-09 11:41:00 -04:00
Clebert Suconic abb7d16b92 NO-JIRA Improving SessionTest reliability
This test was eventually failing
Improving the assertions and loops
2019-10-09 11:18:58 -04:00
Justin Bertram 2992daaeb1 ARTEMIS-2514 dupl cache leak w/clustered temp q 2019-10-08 17:11:38 -04:00
Howard Gao d02da18dab ARTEMIS-2506 MQTT doesn't cleanup underlying connection for bad clients
When a bad MQTT clients drop its connection without proper closing
it the broker doesn't close the underlying physical connection.
2019-09-27 19:41:15 +08:00
Clebert Suconic 91f4d0a633 [maven-release-plugin] prepare for next development iteration 2019-09-23 11:19:54 -04:00
Clebert Suconic 86a975fdad [maven-release-plugin] prepare release 2.10.1 2019-09-23 11:19:42 -04:00
Francesco Nigro f51c799ac0 ARTEMIS-1811 NIO Seq File should use RandomAccessFile with heap buffers
It use RandomAccessFile to allow using heap buffers without additional
copies and/or leaks of direct buffers, as performed by FileChannel JDK
implementation (see https://bugs.openjdk.java.net/browse/JDK-8147468)
2019-09-23 10:55:20 -04:00
Clebert Suconic 70c2200c54 ARTEMIS-2496 Revert catch up with zero-copy, as it's causing issues into some integration usage
Revert "ARTEMIS-2336 Use zero copy to replicate journal/page/large message file"

This reverts commit 85b93f0883.
2019-09-18 11:55:23 -04:00
Clebert Suconic b846f356bb ARTEMIS-2462 Applying fix on delete SNF queue after ScaleDown 2019-09-17 14:05:00 -04:00
Howard Gao dd20f89bd0 ARTEMIS-2462 re-applying tests on SNF Delete Queue 2019-09-17 14:05:00 -04:00
Clebert Suconic d55ec37195 Revert "ARTEMIS-2462 Allow store-forward queue to be deleted afte scaledown"
This reverts commit 397cef699a.
2019-09-17 14:05:00 -04:00
Howard Gao 05a93314cd ARTEMIS-2493 OpenWire session close doesn't cleanup consumer refs
When an openwire client closes the session, the broker doesn't
clean up its server consumer references even though the core
consumers are closed. This results a leak when sessions within
a connection are created and closed when the connection keeps open.
2019-09-17 09:44:25 +08:00
Justin Bertram c56b8fb9d2 ARTEMIS-2489 ring q fails w/concurrent producers 2019-09-13 10:08:32 -05:00
Clebert Suconic 0acf191e21 ARTEMIS-2484 Ignoring QuorumFailOverLiveVotesTest.testQuorumVotingLiveNotDead 2019-09-11 14:50:02 -04:00
Andy Taylor 42327a490a ARTEMIS-2480 - Reloading configuration can kill broker
https://issues.apache.org/jira/browse/ARTEMIS-2480
2019-09-11 17:37:11 +02:00
Clebert Suconic 793a45f35a NO-JIRA Speeding up JMSNonDestructiveTest 2019-09-11 09:37:03 -04:00
Wei Yang e43c5390cf ARTEMIS-2478 Expired message not removed in non destructive queue 2019-09-11 09:37:03 -04:00
Clebert Suconic 5373c60891 ARTEMIS-2474 Retry interval ignored on Backup Connectors 2019-09-10 15:03:01 -04:00
Clebert Suconic 60b62940b9 ARTEMIS-2479 Initial connection will not work with infinite retry and multiple nodes 2019-09-10 15:02:27 -04:00
Wei Yang da6fedf6ae ARTEMIS-2472 Persistent and delivering size not right in replacement of lvq message 2019-09-06 14:26:30 -04:00
Clebert Suconic 93dcd27b39 NO-JIRA Fixing intermittent failure on BasicXaTest
It would fail on cannot destroy queue
as the failure could be asynchronous, introducing a quick race, which is acceptable
you just need to make sure the async operation will finish before removing the queue.

Fix is to introduce a Wait.assertEquals call.
2019-09-06 10:28:14 -04:00
Wei Yang 4a61d2dc76 ARTEMIS-2380 Fix delivering message in the case of consume close 2019-09-04 11:02:16 +08:00
Howard Gao 397cef699a ARTEMIS-2462 Allow store-forward queue to be deleted afte scaledown
After a node is scaled down to a target node, the sf queue in the
target node is not deleted.

Normally this is fine because may be reused when the scaled down
node is back up.

However in cloud environment many drainer pods can be created and
then shutdown in order to drain the messages to a live node (pod).
Each drainer pod will have a different node-id. Over time the sf
queues in the target broker node grows and those sf queues are
no longer reused.

Although use can use management API/console to manually delete
them, it would be nice to have an option to automatically delete
those sf queue/address resources after scale down.

In this PR it added a boolean configuration parameter called
cleanup-sf-queue to scale down policy so that if the parameter
is "true" the broker will send a message to the
target broker signalling that the SF queue is no longer
needed and should be deleted.

If the parameter is not defined (default) or is "false"
the scale down won't remove the sf queue.
2019-08-28 21:16:38 +08:00
Clebert Suconic 3a58387bd3 NO-JIRA Fixing ScaleDownDirectTest and ReconnectTest 2019-08-27 16:52:02 -04:00
Clebert Suconic 3293aba119 NO-JIRA Fixing SharedNothingReplicationFlowControlTest::testSendPages 2019-08-27 14:52:16 -04:00
Clebert Suconic 5d9395ddb9 NO-JIRA Fixing intermittent failure on QuorumFailOverLiveVotesTest 2019-08-27 11:28:01 -04:00
Clebert Suconic 5016f69daa [maven-release-plugin] prepare for next development iteration 2019-08-26 10:42:13 -04:00
Clebert Suconic f092d5396a [maven-release-plugin] prepare release 2.10.0 2019-08-26 10:42:01 -04:00
Justin Bertram 354430ce36 ARTEMIS-2457 speed up ring q tests 2019-08-26 10:06:52 -04:00
gtully b20c2593e9 ARTEMIS-2433 add ExternalCertificateLoginModule to surface a SASL EXTERNAL identity (subjectDN) to JAAS. 2019-08-25 23:57:20 -04:00
Justin Bertram 449f0323ec ARTEMIS-2364 collision avoidance for redelivery
This is a feature from 5.x implemented via
https://issues.apache.org/jira/browse/AMQ-747.
2019-08-25 23:36:09 -04:00
Justin Bertram 51c2022f38 ARTEMIS-2457 implement ring queue 2019-08-25 23:29:44 -04:00
Clebert Suconic c929d34eed ARTEMIS-2454 Fixing body re-encoding 2019-08-25 23:03:53 -04:00
Clebert Suconic 3d7042d49a NO-JIRA fixing tests 2019-08-22 13:53:28 -04:00
Wei Yang 510339423e ARTEMIS-2459 Fix err in the replacement of a non-destructively consumed LVQ message 2019-08-22 11:50:28 -04:00
Clebert Suconic f2557c27ba NO-JIRA fixing checkstyle 2019-08-22 07:34:53 -04:00
Clebert Suconic b828de502c fix 2019-08-21 21:57:02 -04:00
Clebert Suconic a057f82a87 NO-JIRA Fixing test 2019-08-21 17:07:30 -04:00
Michael Pearce 25d0b511ce ARTEMIS-2458 Fix AMQP Transaction Session Close Ordering 2019-08-21 09:34:08 -04:00
Clebert Suconic 61eb379741 ARTEMIS-2458 Fix AMQP Transaction Rollback Ordering by using a sorted add 2019-08-21 09:34:07 -04:00
Clebert Suconic a48e2c9b6f ARTEMIS-2451 Some additional tests 2019-08-20 10:55:58 -04:00
Justin Bertram 2fe565f378 ARTEMIS-2451 eliminate knownDestinations cache 2019-08-20 10:49:44 -04:00