Commit Graph

366 Commits

Author SHA1 Message Date
Clebert Suconic 11a3e810bb [maven-release-plugin] prepare for next development iteration 2020-04-21 17:06:21 -04:00
Clebert Suconic 30272e0c2f [maven-release-plugin] prepare release 2.12.0 2020-04-21 17:06:08 -04:00
brusdev 21d9e3bbbf ARTEMIS-2723 Read the default CLI connector from the related broker
Read the CLI connector from the related broker instance if it isn't set by user.
2020-04-20 14:24:24 -04:00
Clebert Suconic 576e01dba6 ARTEMIS-2725 Implementing retries policy on tests 2020-04-20 11:41:20 -04:00
Clebert Suconic d231e2ac63 [maven-release-plugin] prepare for next development iteration 2020-04-16 16:16:41 -04:00
Clebert Suconic 9636f4a3b0 [maven-release-plugin] prepare release 2.12.0 2020-04-16 16:16:28 -04:00
Francesco Nigro e4c5ea719f ARTEMIS-2713 Added ReplicatedMultipleFailbackTest 2020-04-15 21:56:34 -04:00
Justin Bertram 2efa44daf5 ARTEMIS-2692 refactor queue creation
This commit does the following:
- Deprecates existing overloaded createQueue, createSharedQueue,
  createTemporaryQueue, & updateQueue methods for ClientSession,
  ServerSession, ActiveMQServer, & ActiveMQServerControl where
  applicable.
- Deprecates QueueAttributes, QueueConfig, & CoreQueueConfiguration.
- Deprecates existing overloaded constructors for QueueImpl.
- Implements QueueConfiguration with JavaDoc to be the single,
  centralized configuration object for both client-side and broker-side
  queue creation including methods to convert to & from JSON for use in
  the management API.
- Implements new createQueue, createSharedQueue & updateQueue methods
  with JavaDoc for ClientSession, ServerSession, ActiveMQServer, &
  ActiveMQServerControl as well as a new constructor for QueueImpl all
  using the new QueueConfiguration object.
- Changes all internal broker code to use the new methods.
2020-04-13 14:25:30 -05:00
brusdev 0f200a4798 ARTEMIS-2698 Expose queue group attributes 2020-04-08 12:53:56 -04:00
brusdev 38a79be314 ARTEMIS-2691 Improve critical analyzer LOG policy
Reset the critical component timer after the expiration to allow further LOG
actions after the first expiration.
2020-04-04 18:19:46 -04:00
Atri Sharma 405eb969c1 ARTEMIS-2636: Introduce Disk Usage Metrics
ARTEMIS-2636: This commit introduces metrics to publish the amount of disk used currently
2020-03-30 22:27:58 -04: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
Francesco Nigro a5bd0065a9 ARTEMIS-2617 Fixing KMPNeedle::searchInto API and specializing it
KMPNeedle::searchInto has been specialized and copied
to handle ReadableBuffer in order to save polymorphic
calls on it that would make it slower on hot paths.
2020-03-17 16:30:12 -04:00
Francesco Nigro 0ae8c63d41 NO-JIRA Let SparseArrayLinkedList to reuse the last empty array 2020-03-17 10:48:59 -04:00
Francesco Nigro 2105479304 ARTEMIS-2658 AMQP message read from page has wrong encode size 2020-03-16 18:20:39 +01: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
Francesco Nigro d42267f05a ARTEMIS-2617 Lazy scan AMQP message data 2020-02-12 13:29:51 -05:00
Francesco Nigro 5897909dc9 ARTEMIS-2617 use core pools to reduce GC on journal loading 2020-02-12 13:29:51 -05:00
Francesco Nigro 3282f105bb ARTEMIS-2604 Optimize journal loading
- Avoid some Properties Decoding, checking if we need certain properties like scheduled delivery
- Avoid creating some unnecessary SimpleString instances
- Removed some intermediate ActiveMQBuffer allocation
- Removed some intermediate UnreleasableByteBuf allocation
2020-02-05 11:13:53 -05:00
Francesco Nigro 4cc6464ddd ARTEMIS-2602 Improve Journal loading heap usage 2020-01-17 14:31:52 -05: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
brusdev 9c858c6ba2 ARTEMIS-2593 Thread leak test failure with OpenJ9 JVM
Add an exception for the thread with name `MemoryMXBean`.
2020-01-10 13:58:10 +01: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
Justin Bertram 0293d80574 NO-JIRA support 0 in human readable byte calculation 2020-01-08 12:37:30 -06: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
brusdev 42fe6a8ee2 ARTEMIS-2577 Thread leak test failure with IBM JRE
Add the thread with name `MemoryMXBean` as expected on IBM JDK.
2019-12-16 14:35:44 +01:00
Clebert Suconic 0b1afd35dc ARTEMIS-2421 Using ActiveMQScheduledComponent 2019-11-26 16:15:06 -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
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
Christopher L. Shannon (cshannon) a74036361d ARTEMIS-2519: Use proper enum type inside ActiveMQUnexpectedRoutingTypeForAddress 2019-10-14 14:06:15 -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
Clebert Suconic 60a15f3b50 ARTEMIS-2424 Testing functionality where we disable isReacheable if a ping custom command is used 2019-08-29 18:41:34 -04:00
Tom 90e4384a41 ARTEMIS-2424 Add option to override isReachable()
Added check for non default ping command(s)
Bypass InetAddress.isReachable() to allow exclusive use of user defined
ping command(S).
2019-08-29 18:25:31 -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 51c2022f38 ARTEMIS-2457 implement ring queue 2019-08-25 23:29:44 -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 5f75f68129 ARTEMIS-2454 Message Body damaged after re-encoding 2019-08-18 17:17:12 -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
brusdev aeecb6f70b ARTEMIS-2408 Too many opened FDs after server stops
Limit acceptors stop time.

reapplying after commit 20ca827d79
2019-07-18 16:17:03 -04:00
Tomas Hofman 1c45d1758d ARTEMIS-2409 Convert HornetQ field names in consumer/queue selector strings 2019-07-17 11:34:04 -04:00
Dmitry Volodin 602d659241 ARTEMIS-2322: Fixing misprint in getProducedRate call 2019-07-16 23:07:28 +03: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
Dmitry Volodin dbb3a90fe6 ARTEMIS-2322: Expose Queue.getRate() data as JMX metric 2019-07-15 16:34:31 -04:00
Clebert Suconic 2a84a6fd22 ARTEMIS-2390 Small improvement on UUID Conversion 2019-06-27 10:40:45 -04: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
Clebert Suconic b7047faea5 NO-JIRA Adding checking for leaking server socket 2019-05-31 19:06:15 -04:00