Commit Graph

2173 Commits

Author SHA1 Message Date
Clebert Suconic 31c945f8b0 ARTEMIS-1975 Fixing encodesize cached on AMQP Large Message
Encoding ahead is broken with AMQP Large Message
This is still part of ARTEMIS-1975
2020-03-24 15:51:46 -04:00
Benjamin Graf 4b49b3f371 ARTEMIS-975: Add transactional records to deletedRecords to check for committed transactions that also hold references to 2020-03-24 09:32:47 -05:00
Clebert Suconic f874a02d17 ARTEMIS-2673 PageStore should only be removed when Address is removed
& ARTEMIS-2674 AMQP should use a separate executor for IO
2020-03-23 20:02:17 -04:00
Justin Bertram 3107535a32 ARTEMIS-2671 NPE in LDAP security plugin listener
To get the name of the destination use the relative Rdn position rather than a
strict match of "uid". Also, improve logging.
2020-03-23 17:02:38 -04:00
Justin Bertram 402dda2161 ARTEMIS-2667 NPE w/clearing non-durable dupl ID cache 2020-03-23 16:55:42 -04:00
Francesco Nigro 085a74cf06 ARTEMIS-2669 not durable AMQP messages cannot became durable on depaging 2020-03-22 17:46:37 -04:00
Clebert Suconic 559fa2008d ARTEMIS-2672 multi-thread isue with Shared Subscriptions
Some of them may throw queue already existed exception
2020-03-20 21:26:45 -04:00
Michael Pearce f1fdfc6857 ARTEMIS-2665 AMQP use createSharedQueue like Core 2020-03-18 11:51:58 -04:00
brusdev 974a80002a NO-JIRA Fixing GeneralInteropTest stability 2020-03-17 16:23:05 -04:00
brusdev 43639bdeae ARTEMIS-2664 The prefetch size is exceeded after delivered acks
Decrement delivered acks before acquiring credits.
2020-03-17 14:08:10 -04:00
Francesco Nigro 5f0b7dd7cd ARTEMIS-2661 AMQP Journal loading is triggering reencode 2020-03-17 14:02:28 -04:00
Clebert Suconic 395eb1a2bb NO-JIRA Fixing GeneralInteropTest 2020-03-17 12:42:55 -04:00
Clebert Suconic 4723405214 ARTEMIS-2658 Enabling thread check at end of test 2020-03-17 09:53:07 -04:00
Clebert Suconic c801c00e33 ARTEMIS-2662 Using previously stored encodeSize on page record offset
There is no guarantee that the encodeSize size is the same in AMQP right after read.
As the protocol may add additional bytes right after decoded such as header, extra properties.. etc.
2020-03-17 05:55:25 -04:00
Clebert Suconic ff58e6e306 ARTEMIS-2658 Smoke tests for Paging on AMQP and Core 2020-03-16 16:43:31 -04:00
Justin Bertram 31f00fda36 NO-JIRA some tests for auto-create & FQQN w/JMS 2020-03-16 09:25:55 -05:00
Justin Bertram 91eeacca31 ARTEMIS-2659 fix race in AMQP test 2020-03-16 09:02:51 -05:00
Clebert Suconic c3128aa144 ARTEMIS-2642 Fixing Drain Timeout Issue on AMQP
The drain control has to immediately flush
otherwise a next flow control event may remove the previous status from Proton.
So, this really cannot wait the next executor, and it has to be done immediately.
2020-03-11 11:44:42 -04:00
brusdev aa8d598a35 ARTEMIS-2650 The delivering count is wrong after reconnecting an openwire client
Fix the conversion of the message id from the CORE messages.
Fix the credits acquired for acknowledges related to undelivered messages.
2020-03-11 11:14:29 -04:00
Justin Bertram 0cb3c96b3e ARTEMIS-1194 fix test 2020-03-10 10:32:30 -04:00
Justin Bertram ec958d7d27 NO-JIRA fix errant test directory 2020-03-09 21:08:30 -05:00
Andrius Dagys f1474ce7c8 ARTEMIS-1194 Add SOCKS support
Add a Netty socks proxy handler during channel initialisation to allow
Artemis to communicate via a SOCKS proxy. Supports SOCKS version 4a & 5.
Even if enabled in configuration, the proxy will not be used when the
target host is a loopback address.
2020-03-07 21:35:38 +00:00
brusdev 45fe604859 Revert "ARTEMIS-2644 Include client id into non durable subscriber queue name"
This reverts commit be0fa47d63.
2020-03-07 20:11:40 +00:00
Justin Bertram e9ee9956bd ARTEMIS-2639 lost notif props with OpenWire+divert
Historically speaking, all message properties starting with AMQ HDR
would not be passed to OpenWire messages. However, that blocked the
properties from management notifications so ARTEMIS-1209 was raised and
the solution there was to pass properties that started with _AMQ *if*
the consumer was connected to the management notification address.
However, in this case messages are diverted to a different address so
this check fails and the properties are removed. My solution will be to
check the message itself to see if it has the _AMQ_NotifType property
(which all notification messages do) rather than checking where the
consumer is connected.
2020-03-05 21:38:51 -05:00
Justin Bertram ed7fee6d9c ARTEMIS-2643 allow masked password when resetting via mgmnt 2020-03-05 21:38:09 -05:00
Justin Bertram 339ccccbd7 ARTEMIS-2631 address orphaned from JMS temp queue 2020-03-05 21:36:35 -05:00
Justin Bertram 766f88c22a ARTEMIS-2629 ensure queue auto-delete after expiration 2020-03-05 21:35:35 -05:00
Justin Bertram 8c259116a8 NO-JIRA clarify & verify web socket support for MQTT 2020-03-05 21:34:53 -05:00
brusdev be0fa47d63 ARTEMIS-2644 Include client id into non durable subscriber queue name 2020-03-05 19:09:03 +01:00
Bartosz Spyrko-Smietanko eb41be78f3 [ARTEMIS-2176] RA connection properties are not propagated to XARecoveryConfig 2020-03-03 08:56:18 +00:00
Clebert Suconic 0cac669840 ARTEMIS-2637 Making UDP client discovery resilient
In case there is a hardware, firewal or any other thing making the UDP connection to go deaf
we will now reopen the connection in an attempt to go over possible issues.

This is also improving locking around DiscoveryGroup initial connection.
2020-02-28 11:54:27 -05:00
brusdev de113e47ae ARTEMIS-2625 testListConsumers failing on IBM JDK 8
Fix JmxServerControlTest.testListConsumers.
2020-02-25 12:19:05 -06:00
Clebert Suconic ddd8ed4402 ARTEMIS-1975 Real Large Message support into AMQP
This is a Large commit where I am refactoring largeMessage Body out of CoreMessage
which is now reused with AMQP.

I had also to fix Reference Counting to fix how Large Messages are Acked

And I also had to make sure Large Messages are transversing correctly when in cluster.
2020-02-25 15:25:01 +01:00
Justin Bertram d0758f34f6 ARTEMIS-2624 auto-create expiry resources 2020-02-20 17:44:56 -05:00
Justin Bertram b76f3b3a0d ARTEMIS-2587 auto-create dead-letter resources
This is a reimplementation of the IndividualDeadLetterQueueStrategy
from 5.x in a way that makes sense with the Artemis addressing model.
2020-02-20 17:44:56 -05:00
Christopher L. Shannon (cshannon) 3966e47338 ARTEMIS-2613: Add support for DivertBindings for federated addresses
This will allow federated addresses to create remote consumers based on
the existing of divert bindings and matching queue bindings
2020-02-17 12:15:18 -05:00
Clebert Suconic 990890d228 ARTEMIS-2622 Making replica resilient to closed pages 2020-02-14 14:01:52 -05:00
Justin Bertram a8cf6b04b4 ARTEMIS-2607 interceptor returns false but processing continues 2020-02-14 13:23:05 -05:00
Justin Bertram 72429e1e49 ARTEMIS-2325 ack handler being invoked twice 2020-02-14 13:12:49 -05:00
Justin Bertram b76700c18f NO-JIRA fix JMSMessageConsumerTest.testTimedOutWaitingForWriteLogOnConsumer 2020-02-14 13:12:49 -05:00
Justin Bertram daae7e750a ARTEMIS-2619 allow disabling STOMP 'server' header 2020-02-12 19:38:38 -06:00
Francesco Nigro 5897909dc9 ARTEMIS-2617 use core pools to reduce GC on journal loading 2020-02-12 13:29:51 -05:00
Clebert Suconic 0487e712e2 NO-JIRA some Wait.assertEquals 2020-02-10 09:25:06 -05:00
brusdev b71178b4fb ARTEMIS-2600 Update mqtt-client version to 1.16 for tests 2020-02-06 12:21:54 -06:00
Wei Yang 1d1f0625db ARTEMIS-2544 Remove rolledback PageTransactionInfo to free up memory 2020-01-23 11:23:14 +08:00
Francesco Nigro fa0c187ae6 ARTEMIS-2602 Reduce number of copies for non JDBC Journal 2020-01-18 18:45:12 +01:00
Francesco Nigro b10d765139 ARTEMIS-2602 load surviving records into SparseArrayLinkedList 2020-01-17 14:31:52 -05:00
brusdev caa19ab144 ARTEMIS-2598 Update netty version to 4.1.43.Final
Update netty version to 4.1.43.Final and netty-tcnative version to 2.0.26.Final.
Change restricted-security-client.policy because Netty 4.1.43.Final requires
access to two more files: /etc/os-release and /usr/lib/os-release.
2020-01-17 14:28:31 -05:00
brusdev 1716655214 ARTEMIS-2597 Memory Leak when closing AMQP Consumers in the context
Remove server senders on remote link close.
2020-01-15 09:56:21 +01:00
Clebert Suconic 3fff744de4 NO-JIRA Adding Queue Delete Delay on openWireTestsuite
Some open wire tests will close a consumer and open it right away.

The removal of the queue is asynchronous, having this kind of behaviour may lead to issues
after we moved the QueueManager to be asynchronous.
2020-01-10 11:31:53 -05:00
Justin Bertram 29554acc56 NO-JIRA Bumping extra-tests pom 2020-01-10 09:07:13 -06:00
Justin Bertram 97735ca72c [maven-release-plugin] prepare for next development iteration 2020-01-10 09:00:58 -06:00
Justin Bertram 25a947f6cb [maven-release-plugin] prepare release 2.11.0 2020-01-10 08:57:46 -06:00
Clebert Suconic 757d38f53c NO-JIRA Fixing Stomp Tests after QueueManager change 2020-01-10 00:08:11 -05:00
Clebert Suconic e397a17796 ARTEMIS-2592 Fixing DeadLock between deleteMessages and depage
This was happening through purge
2020-01-09 19:41:14 -06:00
Francesco Nigro 6cc5749c7b ARTEMIS-2569 LinkedListImpl tests should not rely on the GC mechanism 2020-01-09 13:40:43 -05:00
Clebert Suconic 534d8b4719 NO-JIRA Happy new year! 2020-01-08 20:44:05 -05:00
Justin Bertram 0513393091 NO-JIRA fix tests after SSL resource regen 2020-01-08 13:04:17 -05:00
Keith Wall 39cd9d56f6 ARTEMIS-2497: [AMQP] Allow handling of the reject disposition to be configured. 2020-01-08 11:56:23 -05:00
Justin Bertram 81c83e05fa NO-JIRA regenerate expired SSL test resources 2020-01-08 14:09:33 +08:00
Justin Bertram 3e343db736 ARTEMIS-2580 fix tests 2020-01-08 14:00:04 +08:00
Christopher L. Shannon (cshannon) fe66506139 ARTEMIS-2565 - Add plugin support for Federated Queues/Addresses
Add a new interface called ActiveMQServerFederationPlugin to allow
customization of the federated queue/address feature of the broker
2020-01-06 06:38:35 -05:00
Clebert Suconic 13278cc45f ARTEMIS-2581 Duplicate Detection on AMQP should be configurable
There is an optimization in AMQP, that properties are only parsed over demand.

It happens that after ARTEMIS-2294 (commit 2dd0671698),
every send would request for the property on the message, resulting the properties to always be parsed upon send.
Even when there's no use of application properties.
2019-12-19 17:54:21 -05:00
Justin Bertram 8d8eaebb65 ARTEMIS-2580 support pluggable SSL TrustManagerFactory 2019-12-19 17:53:52 -05:00
Clebert Suconic 7efebc97c6 NO-JIRA moving OpenWire test under ./integration 2019-12-18 09:59:34 -05:00
Justin Bertram 2a452bd7a3 ARTEMIS-2578 clarify storage capacity messages
This is a surprisingly large change just to fix some log messages, but
the changes were necessary in order to get the relevant data to where it
was being logged. The fact that the data wasn't readily available is
probably why it wasn't logged in the first place.
2019-12-17 20:27:10 -05:00
Wei Yang 9c928377c9 NO-JIRA minor changes on test 2019-12-17 09:40:31 -05:00
brusdev b666cb495b ARTEMIS-2572 The retryMessages remove all paged messages
Add a paged message to the tail, when the QueueIterateAction doesn't handle it, to avoid removing unhandled paged message. Move the refRemoved calls from the QueueIterateActions to the iterQueue to fix the queue stats.
2019-12-10 13:00:16 +01:00
Clebert Suconic 108ee5d24b NO-JIRA Fixing intermittent failure 2019-12-03 16:25:00 -05:00
Clebert Suconic c699b5ed1d NO-JIRA Fixing intermittent failure 2019-12-03 15:49:58 -05:00
Clebert Suconic 0ce1487252 NO-JIRA Fixing wrong assumption on ClientTestBase 2019-12-03 15:29:34 -05:00
Justin Bertram 8614ca1167 ARTEMIS-2564 retryMessages incorrectly removes msgs 2019-12-03 14:24:01 -05:00
Keith Wall 7bd710520d ARTEMIS-2494: [AMQP] Allow Modified disposition to be used signal address full to a sending peer 2019-12-03 11:05:23 -05:00
Clebert Suconic a302c255cc NO-JIRA fixing tests that will fail eventually for the lack of fsync 2019-12-03 10:02:20 -05:00
Clebert Suconic 1ba1de4248 This closes #2906 2019-12-03 09:59:07 -05:00
Howard Gao 044319da05 ARTEMIS-2560 Duplicate amqp messages over cluster
When AMQPMessages are redistributed from one node to
another, the internal property of message is not
cleaned up and this causes a message to be routed
to a same queue more than once, causing duplicated
messages.
2019-12-03 09:46:28 -05:00
Clebert Suconic 0b1afd35dc ARTEMIS-2421 Using ActiveMQScheduledComponent 2019-11-26 16:15:06 -05:00
Bas Elzinga e12f3ddc6f ARTEMIS-2421 periodic journal lock evaluation
If a broker loses its file lock on the journal and doesn't notice (e.g.
network connection failure to an NFS mount) then it can continue to run
after its backup activates resulting in split-brain.

This commit implements periodic journal lock evaluation so that if a live
server loses its lock it will automatically restart itself.
2019-11-26 11:14:56 -05:00
Clebert Suconic 506c03a884 ARTEMIS-2559 Clear Transaction out of ResourceManager in case of failure 2019-11-22 10:30:29 -05:00
Clebert Suconic 91cbbb8698 ARTEMIS-2559 Connection failure should rollback pending XA TX 2019-11-21 17:52:45 -05:00
Christopher L. Shannon (cshannon) fb54707e2d ARTEMIS-2549 - Add Downstream support to Federation
This commit introduces the ability to configure a downstream connection
for federation.  This works by sending information to the remote broker
and that broker will parse the message and create a new upstream back
to the original broker.
2019-11-20 08:47:16 -05:00
Andy Taylor 0ab75b9968 ARTEMIS-2554 - Queue control browse broken with large messages
https://issues.apache.org/jira/browse/ARTEMIS-2554
2019-11-18 10:36:18 +00:00
michael.pearce f6401d81b5 ARTEMIS-2547 fix AMQP Client reconnect fails on broker stop start
Add unit test
Add fix to clear clientids when server is stopped.
2019-11-11 12:33:13 +00:00
Justin Bertram 566579f96f NO-JIRA make OpenWire test more robust 2019-11-08 13:08:00 -05:00
Justin Bertram 200bee1a5f NO-JIRA make a few AMQP tests more robust 2019-11-08 13:07:08 -05:00
brusdev 83e2595618 ARTEMIS-2534 Deleting addresses auto created on configuration reload
Skip the deletion of address's and queue's auto created on configuration
reload.
2019-11-05 16:05:27 -05:00
Justin Bertram ea0047a1b4 ARTEMIS-2504 fix divert test 2019-11-05 10:54:44 -06:00
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
Clebert Suconic b0497ed724 ARTEMIS-2517 JMX will be shutdown after failback 2019-10-10 14:44:55 -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 63b93499d2 ARTEMIS-2500 Fixing test after test rename 2019-09-23 20:43:54 -04:00
Howard Gao a2504288c6 ARTEMIS-2500 CoreMessage doesn't make a ful copy of its props on moveHeadersAndProperties
When CoreMessage is doing copyHeadersAndProperties() it doesn't
make a full copy of its properties (a TypedProperties object).
It will cause problem when multiple threads/parties are modifying the
properties of the copied messages from the same message.

This will be particular bad if the message is a large message
where moveHeadersAndProperties is being used.
2019-09-23 20:06:41 -04: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
Francesco Nigro 9413925957 ARTEMIS-2473 RemoteQueueBindingImpl should check for empty filters 2019-09-06 14:26:03 -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 b52dec085a NO-JIRA Bumping extra-tests pom 2019-08-26 10:44:23 -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
Wei Yang a644c498da ARTEMIS-2450 page-size-bytes should not be greater than Integer.MAX_VALUE 2019-08-19 17:18:06 +01:00
Premysl Srubar 3d631f06d0 Treat empty providerUrl string same way as null value. 2019-08-19 16:53:53 +01:00
yang wei 448449c88e ARTEMIS-2368 Fix races on closing consumer 2019-08-19 16:49:06 +01:00
yang wei 76d420590f ARTEMIS-2399 Improve performance when there are a lot of subscribers 2019-08-19 16:43:44 +01:00
Timothy Bish 448f72738b ARTEMIS-2437 Allow extended types in annotations in AMQP to Core
When converting from AMQP to core and back again support annotations that
aren't able to be placed into Core message properties by storing the bytes
from encoding the types to AMQP encodings and then decoding them again
when converting back into AMQP messages.

Requires update to proton-j 0.33.2 for encoding fix
2019-08-18 22:13:35 -04:00
Clebert Suconic 144c21fb6f ARTEMIS-2453 Fixing deadLock between destroyQueue and removeAddressInfo 2019-08-15 11:38:57 -04:00
Justin Bertram 9d44c40037 ARTEMIS-2449 limit size of producer details
The core server session tracks details about producers like what
addresses have had messages sent to them, the most recent message ID
sent to each address, and the number of messages sent to each address.
This information is made available to users via the
listProducersInfoAsJSON method on the various management interfaces
(JMX, web console, etc.). However, in situations where a server session
is long lived (e.g. in a pool) and is used to send to many different
addresses (e.g. randomly named temporary JMS queues) this info can
accumulate to a problematic degree. Therefore, we should limit the
amount of producer details saved by the session.
2019-08-08 14:24:28 -04:00
Justin Bertram d379cda374 ARTEMIS-2447 allow mapping admin to manage in LDAP plugin 2019-08-06 15:27:18 -05:00
Clebert Suconic 205a1399e7 ARTEMIS-2440 Call timeout should retry the connection asynchronously 2019-08-05 12:12:33 -04:00
Clebert Suconic cd723aa528 ARTEMIS-2440 Connection.fail on sendBlock should be asynchronous
This is following up on ARTEMIS-2327.
2019-08-02 16:37:12 -04:00
Justin Bertram 3a68288db6 ARTEMIS-2439 ServerSessionImpl leaks addr names 2019-08-02 13:27:02 -04:00
Clebert Suconic 73e2d4709d ARTEMIS-2438 Activation cleaning 2019-08-01 16:58:00 -04:00
Clebert Suconic b1c3f52cc8 NO-JIRA test fix (Adding Wait clause) 2019-08-01 16:15:18 -04:00
Wei Yang edace8845e ARTEMIS-2414 Sync before closing file in case data loss 2019-07-29 14:44:26 -04:00
Clebert Suconic 28ea18ea79 ARTEMIS-2434 Improving Consumer/Queue Delivery Lock
This is a less invasive improvement then the one I proposed at PR #2772
or commit 7507a9fd4b
2019-07-27 11:37:45 -04:00
Clebert Suconic 8a1f267bd5 Revert "ARTEMIS-2423 Improving Consumer/Queue Delivery lock"
This reverts commit 7507a9fd4b.
2019-07-27 10:45:08 -04:00
Clebert Suconic 7507a9fd4b ARTEMIS-2423 Improving Consumer/Queue Delivery lock 2019-07-26 15:05:51 -04:00
Clebert Suconic 622f857c88 NO-JIRA Speed up CoreClientTest 2019-07-26 13:54:55 -04:00
Clebert Suconic 707e036a90 NO-JIRA Teardown connection on stomp connections test class 2019-07-26 13:54:55 -04:00
Clebert Suconic 70e6c17bd9 NO-JIRA Speeding up MQTTTest 2019-07-26 13:54:55 -04:00
Clebert Suconic 5c05cce109 NO-JIRA Another fix on FailoverTest::testTimeoutOnFailoverConsumer 2019-07-26 13:54:55 -04:00
Wei Yang b92cde165b ARTEMIS-2430 Avoid data loss when live page cache evicted 2019-07-24 19:42:49 +08:00
Clebert Suconic c9f2833863 NO-JIRA Fixing FailoverTest::testTimeoutOnFailoverConsumer
this test was basically broken, it was silently failing as it was ignoring results and taking a long time to finish.
As this test is multiplied along many options (Netty, Replicated, JDBC) this was taking considerable extra time
on the testsuite.
2019-07-23 16:11:58 -04:00
Clebert Suconic 6ece896aee NO-JIRA Fixing broken test at StompV11Test
StompV11Test::testConnection was leaking a NettyConnector
what was leaving threads running. This would then fail ThreadLeakCheckRule
2019-07-23 11:46:33 -04:00
Maarten Boekhold 7f4f4a5021 ARTEMIS-2412 Allow CF configuration through JNDI references
Most connection related properties, like the SSL ones, currently
have to be encoded in the brokerURL. When configuring connections
purely through JNDI bindings, this is not always desireable.
This commit allows one to configure all properties included
in TransportConstants.ALLOWABLE_CONNECTOR_KEYS to be listed separately
in the JNDI bindings. These properties are then zipped into any
provided brokerURL. For properties that appear in both places,
the one specified separately in the JNDI bindings takes priority.

This commit should not affect any configuration other than those
configure through JNDIReferenceFactory.
2019-07-22 10:44:50 -04:00
Jiri Danek 52e7b9d57d ARTEMIS-2429 Fix order of arguments to registerQueueGauge and two related typos
Test is also adjusted to test for the changes made.
2019-07-22 13:28:22 +02:00
Clebert Suconic 200b3e1033 NO-JIRA Simple test fixes 2019-07-19 17:51:04 -04:00
Clebert Suconic 736045d73b ARTEMIS-2401 Improving tests and a few fixes around Address.pause 2019-07-18 16:29:52 -04:00
Emmanuel Hugonnet 3aa3fa777f ARTEMIS-2401 Implement the Pause method for an Address
Adding support to pause an Address and all its bound queues.

Jira: https://issues.apache.org/jira/browse/ARTEMIS-2401
2019-07-18 16:29:52 -04:00
yang wei 99158ccd3d ARTEMIS-2418 Race conditions between cursor movement and page writing 2019-07-18 10:30:26 -04:00
Clebert Suconic 9d7bbf4ea3 NO-JIRA Making sudo a requirement for NetworkFailureFailoverTest
When setting up a new Jenkins CI, it's required to add sudoer to have this test working
otherwise it will silently pass.
2019-07-17 12:21:17 -04:00
Clebert Suconic 0585db7421 ARTEMIS-2409 Adding Compatibility test for hornetQ selector client 2019-07-17 11:35:16 -04:00
Tomas Hofman 1c45d1758d ARTEMIS-2409 Convert HornetQ field names in consumer/queue selector strings 2019-07-17 11:34:04 -04:00
Clebert Suconic 27b151bb0e NO-JIRA moving Wait and removing some duplicate code on artemis-junit module 2019-07-16 22:30:59 -04:00
brusdev 29bbb94b5e ARTEMIS-2408 Too many opened FDs after server stops
Wait netty event loop group shutdown to avoid too many opened FDs after
server stops, when netty configuration is used. Clear server
activateCallbacks to avoid reactivation of previous nodeManager and
consequent FD leaks on restart. Fix LargeServerMessageImpl.copy to avoid
FD leaks when a large message expiry or it is sent to DLA. Terminate
HawtDispatcher global queue to avoid pipes and eventpolls leaks after a
MQTT test.

cherry-picking commit 9617058ba0649af4eea15ce8793f86de827c4b7f
NO-JIRA adding check for open FD on the testsuite

cherry-picking commit 0facb7ddf4d3baa14a3add4290684aff7fd46053
NO-JIRA addressing connections leaks on integration tests
2019-07-16 13:36:42 -04:00
yang wei 85b93f0883 ARTEMIS-2336 Use zero copy to replicate journal/page/large message file 2019-07-15 23:51:42 +01:00
Dmitry Volodin dbb3a90fe6 ARTEMIS-2322: Expose Queue.getRate() data as JMX metric 2019-07-15 16:34:31 -04:00
yang wei fa46647818 ARTEMIS-2425 Message loss due to writing incomplete page file 2019-07-12 19:52:43 +08:00
Howard Gao c66d62e4b0 ARTEMIS-2390 JMSMessageID header can be null when messages are cross-protocol
If a jms client (be it openwire, amqp, or core jms) receives a message that
is from a different protocol, the JMSMessageID maybe null when the
jms client expects it.
2019-06-27 10:26:34 -04:00
yang wei 665a69886e ARTEMIS-2350 Fix ClassNotFoundException while invoking ActiveMQServerControlImpl::listConsumers 2019-06-25 14:06:12 -05:00
Justin Bertram 886ae7bfc5 ARTEMIS-2395 empty address.txt causes NPE 2019-06-21 15:09:08 -04:00
Justin Bertram 3b82cad024 ARTEMIS-2391 static address may be auto-deleted 2019-06-21 15:01:36 -04:00
Clebert Suconic d1edb8d6e2 ARTEMIS-2338 Adding Wait clauses on QuorumFailOverLiveVotesTest 2019-06-21 09:21:52 -04:00
Clebert Suconic 9a32286883 ARTEMIS-2381 making setBrokerURL public as requested by Camel Devs 2019-06-19 11:35:28 -05:00
brusdev 9d12ad6501 ARTEMIS-2385 Log header for rejecting message with too large header
Use warning level to add in the log the ID and debug level to add in the
log the message header of rejecting message with too large header.
2019-06-19 11:26:33 -05:00
Francesco Nigro f8d3a8f2f2 ARTEMIS-2354 Improve compatibillity of tests with JDK 11 2019-06-19 10:53:53 -05:00
Andy e82d95fff6 ARTEMIS-2338 - Live server does not shutdown when using vote-on-replication-failure
https://issues.apache.org/jira/browse/ARTEMIS-2338
2019-06-19 10:26:10 -05:00
Andy 6a2e964f5b ARTEMIS-2386 - use internal session for management queues for QOS2
https://issues.apache.org/jira/browse/ARTEMIS-2386
2019-06-18 08:21:39 +01:00
gtully d1add00b00 ARTEMIS-2378 respect openwire removeInfo lastSequenceId when dealing with delivery count 2019-06-17 22:32:33 -04:00
Francesco Nigro 4445261f34 ARTEMIS-2382 Reclaimer doesn't need to be instantiatable 2019-06-17 22:31:30 -04:00
Justin Bertram 75a68511fa NO-JIRA make ExceptionListenerForConnectionTimedOutExceptionTest more robust 2019-06-13 11:02:40 -05:00
Justin Bertram 3ff75c3353 ARTEMIS-1982 queue metrics can go negative
When redelivery is exhausted and messages are sent to a DLA with bindings
then some queue metrics can go negative.
2019-06-12 17:22:30 -04:00
Clebert Suconic 7e3b68a4cf ARTEMIS-2367 Adding rule to avoid files leaking on the main folder
We had to fix a few cases where data folder was being created outside of the ./target output.
This is just to avoid re-ocurrence of that.
2019-06-12 12:10:28 -04:00
brusdev 9b52547ff7 ARTEMIS-2371 Message with huge header shuts broker down
Add max record size check before adding a record to prevent that the
broker shuts down, when there is one really large header sent with the
message. Add message size check before allocating large message resource
if it can't be stored.
2019-06-10 17:36:18 -04:00
Tomas Hofman 097ef281fd ARTEMIS-2069 Backup doesn't activate after shared store is reconnected 2019-06-10 13:36:43 +02:00
Clebert Suconic a7e5e6d074 NO-JIRA test improvements 2019-05-31 19:06:15 -04:00
Clebert Suconic b7047faea5 NO-JIRA Adding checking for leaking server socket 2019-05-31 19:06:15 -04:00
brusdev ef2ec7b56e ARTEMIS-1011 Slow consumer detection after bursts
Fix slow consumer detection after a burst, taking into account messages
which are already in queue at the start of queueRateCheckTime period.
2019-05-31 12:21:28 -04:00
Justin Bertram 1183dc3453 NO-JIRA Extra tests upgrade on pom 2019-05-29 22:10:46 -05:00
Justin Bertram dbb2b54fa7 [maven-release-plugin] prepare for next development iteration 2019-05-29 22:02:00 -05:00
Justin Bertram 88c686cc99 [maven-release-plugin] prepare release 2.9.0 2019-05-29 21:59:18 -05:00
Clebert Suconic 4fa2e75cdc ARTEMIS-2361 Bridge should make a copy of messages
and some improvements into ARTEMIS-2355
2019-05-29 16:35:01 -04:00
Luis De Bello 1ccb688eec ARTEMIS-2355: Marking message as changed after setting routing type, because it is set after divert 2019-05-29 16:34:22 -04:00
Justin Bertram 5768f6e2f3 ARTEMIS-2308 Support exporting metrics 2019-05-29 15:07:45 -04:00
Clebert Suconic b8a2580410 ARTEMIS-2360 IOOBE when dealing with older clients concurrently 2019-05-29 15:02:13 -04:00
Andy 3fe2194139 ARTEMIS-2358 - Add user and pass to database store to allow encryption
https://issues.apache.org/jira/browse/ARTEMIS-2358
2019-05-29 11:30:35 -05:00
Andy 959c38bd8d ARTEMIS-2352 - Add the ability to reject messages without a validated user set
https://issues.apache.org/jira/browse/ARTEMIS-2352
2019-05-29 09:42:38 -04:00
Clebert Suconic 5f481d6220 NO-JIRA Test fixes 2019-05-21 15:21:36 -04:00
Clebert Suconic 9c9bd48154 ARTEMIS-2339 Set JMS Name on compatible destinations 2019-05-20 15:48:31 -04:00
brusdev e533bf876e ARTEMIS-2344 return security errors for unauthorized anonymous sasl
When user attempts unauthorized anonymous sasl the broker can return an
error of 'failed' instead of the security error that is expected in
these cases.
2019-05-17 15:52:37 -04:00
Clebert Suconic 2ae732cfc8 [maven-release-plugin] prepare for next development iteration 2019-05-16 09:58:27 -04:00
Clebert Suconic 481b9824a8 [maven-release-plugin] prepare release 2.8.1 2019-05-16 09:58:15 -04:00
Clebert Suconic b9b6fddeea ARTEMIS-2339 Compatibility around prefixing
There are a few issues with prefixing and compatibility.
This is basically an issue when integrated with Wildfly or any other case
where prefix is activated
and playing with older versions.
2019-05-15 17:49:03 -04:00
Francesco Nigro f2bac5ad08 ARTEMIS-2321 Non-blocking Page::read on page cache 2019-05-13 12:20:22 -04:00
Clebert Suconic 2567d8a266 NO-JIRA Improving test reliability 2019-05-13 12:12:40 -04:00
Francesco Nigro 49836eca52 ARTEMIS-2321 PageCursorProviderImpl can use primitive maps 2019-05-13 10:24:17 -04:00
Clebert Suconic d213aea96b NO-JIRA speeding up PagingReceiveTest 2019-05-10 14:45:57 -04:00
Clebert Suconic 389edd4976 NO-JIRA Test improvement 2019-05-09 16:55:29 -04:00
Clebert Suconic 349ca876f9 NO-JIRA test speedup 2019-05-08 21:25:23 -04:00
Clebert Suconic 7f7194f779 ARTEMIS-2333 Making tests more reliable 2019-05-08 21:10:05 -04:00
Francesco Nigro 5f040cf38b ARTEMIS-2323 NettyTransport should also send requests with void promises 2019-05-08 15:49:41 -04:00
Clebert Suconic 7e8829bee4 ARTEMIS-2333 NettyConnection is not writeable if disconnected
This is fixing StompV12Test
2019-05-08 14:33:08 -04:00
Justin Bertram 8257bac49b ARTEMIS-2332 fix sendMessage w/headers from console 2019-05-08 07:21:22 -04:00
Clebert Suconic f7b3dd46d7 NO-JIRA Test improvement 2019-05-07 20:06:29 -04:00
Emmanuel Hugonnet ee7d5bd0f1 ARTEMIS-2319 Upgrading jboss-logging dependencies
* Upgrading versions
* Adding wildfly-common dependency as jboss-logmanager now depends on it
for simple common operations such as getting hostname or process id
* Updating bootclasspath with wildfly-common
2019-05-07 16:13:48 -04:00
Clebert Suconic 6f572de59e NO-JIRA Fixing random failure on Journal Test 2019-05-07 15:45:48 -04:00
Clebert Suconic a461f23b32 NO-JIRA Fixing ConcurrentDeliveryCancelTest on extra-tests 2019-05-07 11:24:53 -04:00
Clebert Suconic 0e40984145 NO-JIRA speeding up a few tests 2019-05-06 20:22:47 -04:00
Clebert Suconic 2395358e80 NO-JIRA fixing test
this test was randomly failing because of timeouts.
Increasing timeouts on Wait, and adjusting times fixed the test.
2019-05-06 10:23:47 -04:00
Clebert Suconic c4238e154f ARTEMIS-2327 Removing Bridge Test after fix
This test was playing with an ignore packet, which does not make any more sense
after the last change.

After a packet loss the bridge will reconnect, and this test makes no more sense.
2019-05-06 09:52:10 -04:00
Clebert Suconic 415ff9b26a ARTEMIS-2327 Simple test fix
This test is playing with a timeout.
Since a timeout now will issue an Exception on the channel, this test needs to reconnect.
2019-05-06 09:19:15 -04:00
Michael André Pearce b60c304c70 ARTEMIS-2327 ExceptionListener invoked when connection level exception
Add tests
Add fix - if timeout occurs on sending packet, calls same code that is invoked if timeout occurs on during ping aligning logic, and ensuring JMS connection exception listener gets invoked to inform the client logic to react.
2019-05-03 23:11:21 -04:00
Clebert Suconic b5b2cc98b0 NO-JIRA Fixing JMX Test
This test has been failing as part of the main testsuite
and it should really be a smoke test as it is using a real test.
so, I'm moving it as smoke-test
2019-05-03 18:05:26 -04:00
Robbie Gemmell bfe0c5cc10 NO-JIRA: add test of defaulted durable field
Verifies broker isnt affected by same behaviour from 5.x issue AMQ 7189
2019-05-03 10:45:25 +01:00
Clebert Suconic 56152a9e7c [maven-release-plugin] prepare for next development iteration 2019-05-02 16:39:10 -04:00
Clebert Suconic a8e7f9d07a [maven-release-plugin] prepare release 2.8.0 2019-05-02 16:38:58 -04:00
Clebert Suconic 9872128a1f NO-JIRA Fixing GlobalPagingTest 2019-05-02 12:24:19 -04:00
Clebert Suconic fa259ba66e ARTEMIS-2328 Routing after empty addresses could lead to invalid messages 2019-05-01 01:34:28 -04:00
Clebert Suconic c0300c318c NO-JIRA Test fix 2019-04-30 13:33:45 -04:00
Jiri Danek 3e87249d75 ARTEMIS-2320 Overwritten Map key or Set element 2019-04-29 11:28:10 +01:00
Jiri Danek 4abc2e0430 ARTEMIS-2320 Synchronization on a non-final field 2019-04-29 11:28:10 +01:00
Jiri Danek f508a25566 ARTEMIS-2320 Standard Charset object can be used 2019-04-29 11:28:10 +01:00
Jiri Danek 781e4c460d ARTEMIS-2320 'while' statement does not loop 2019-04-29 11:28:10 +01:00
Jiri Danek b33874488b ARTEMIS-2320 Assorted small code fixes, mostly from IntelliJ autofixes 2019-04-29 11:28:10 +01:00
Jiri Danek 34e5d607ef ARTEMIS-2320 'compare()' method can be used to compare numbers 2019-04-29 11:27:29 +01:00
Jiri Danek f7a36300ef ARTEMIS-2320 Fix IntLongMath errorprone warning
Expression of type int may overflow before being assigned to a long
    (see https://errorprone.info/bugpattern/IntLongMath)
2019-04-29 11:27:29 +01:00
Clebert Suconic edbf3575d0 NO-JIRA improving duplicate detection test 2019-04-25 22:07:43 -04:00
Clebert Suconic d468d0a574 NO-JIRA Extra tests upgrade on pom 2019-04-25 21:51:16 -04:00