Commit Graph

11185 Commits

Author SHA1 Message Date
Christopher L. Shannon (cshannon) df354fa023 AMQ-8509: Update TempStore Usage test to verify cleanup
Add a unit test to the previous tests added in AMQ-7085 to verify
TempUsage is cleaned up and stopped on Queue.stop()
2022-02-23 07:41:24 -05:00
Christopher L. Shannon (cshannon) fb7ae908ef Merge branch 'AMQ-8509' into main
This closes #778
2022-02-23 07:39:20 -05:00
Artur Pedroso d1e9ba68b3 AMQ-8509: Fix TempUsage memory leak
If you have an application that creates lots of queues it will eventually
fail with OOM because TempUsage is started on Queue#start but never stopped.

The `systemUsage.getTempUsage().start()` used on the Queue#start
adds elements on a List from TempUsage parent and these elements
are never removed.

To reproduce this issue you need to leave an application
running for a long time creating different queues.

The only way to avoid the leak right now is to stop the BrokerService,
which isn't a solution.
2022-02-23 07:38:58 -05:00
Jean-Baptiste Onofré 56b5608233 [AMQ-8497] Upgrade to Apache POM 25 2022-02-22 14:55:01 +01:00
Christopher L. Shannon bed86a078d
Merge pull request #770 from mattrpav/AMQ-8493
[AMQ-8493] Minor deprecation cleanups in activemq-client
2022-02-18 10:58:52 -05:00
Jean-Baptiste Onofré b9f6efbf85
Merge pull request #774 from gemmellr/AMQ-7442-fix-build-warnings
AMQ-7442: fix duplicate plugin declaration build warnings
2022-02-18 09:14:50 +01:00
Robbie Gemmell bd23fef5da AMQ-7442: resolve immediate build warnings due to duplicate plugin config.
Combines duplicate plugin entries following fc80b86ac6 changes.
2022-02-17 18:04:25 +00:00
Matt Pavlovich cb27fd06ee [AMQ-6883] Update wrapper confs to be consistent memory and dedicatedTaskRunner 2022-02-16 14:27:29 -06:00
Matt Pavlovich 00925c1eff [AMQ-8493] Minor deprecation cleanups in activemq-client 2022-02-16 12:58:29 -06:00
Robbie Gemmell a4b396db91 AMQ-8489: make the build fail quickly and obviously if not run on Java 11+, which is required.
Overrides the existing parent pom enforcer check. Updates to current plugin version.
2022-02-16 11:31:25 +00:00
Jean-Baptiste Onofré 6681cde88c Fix version in SECURITY.md 2022-02-15 07:35:30 +01:00
Jean-Baptiste Onofré 5da44f437a
Merge pull request #767 from coheigea/coheigea/SECURITY.md
Adding SECURITY.md for ActiveMQ
2022-02-15 05:38:56 +01:00
Colm O hEigeartaigh da9be56d5b
Adding SECURITY.md for ActiveMQ 2022-02-15 04:34:35 +00:00
Robbie Gemmell 2c3a7c68df NO-JIRA: update year in source + bin assembly NOTICE files 2022-02-11 10:07:22 +00:00
Robbie Gemmell 01af3e87d7 NO-JIRA: update RAT plugin to 0.13 2022-02-11 10:01:22 +00:00
Jean-Baptiste Onofré 0d25df0f0b [AMQ-8410] Fix OSGi imports 2022-02-10 18:43:08 +01:00
Gerlach, Winfried 3a07632786 fix encoding error in chat.js; avoid some implicit variable declarations; minor beautifications 2022-02-09 21:27:03 +01:00
Christopher L. Shannon 856d54c7bc
Merge pull request #762 from mattrpav/AMQ-8443-tests
[AMQ-8443] Add unit test
2022-02-09 10:48:04 -05:00
Matt Pavlovich 09458713aa [AMQ-8443] Add unit test 2022-02-09 08:50:24 -06:00
Christopher L. Shannon a7109bc025
Merge pull request #761 from mattrpav/AMQ-8397-tests
[AMQ-8397] Add unit tests for AMQ-8397
2022-02-09 06:33:52 -05:00
Matt Pavlovich 9d8ee0d3b7 [AMQ-8397] Add unit tests for AMQ-8397 2022-02-08 22:19:57 -06:00
Christopher L. Shannon fccb40f518
Merge pull request #759 from mattrpav/AMQ-8413b
[AMQ-8413] NetworkConnector remote user and pass unit test
2022-02-07 11:27:15 -05:00
Matt Pavlovich 2a9f777aab [AMQ-8413] NetworkConnectore remote user and pass unit test 2022-02-07 08:22:27 -06:00
Christopher L. Shannon (cshannon) 19949e36bc [AMQ-8412] - Add some comments for maxFrameSizeEnabled 2022-02-07 08:45:28 -05:00
Christopher L. Shannon fb036974ca
Merge pull request #758 from mattrpav/AMQ-8053b
[AMQ-8053] UserIDBroker unit tests
2022-02-07 08:28:08 -05:00
Christopher L. Shannon (cshannon) 26a3c55833 AMQ-8412 - Add wireformat negotiation test for maxFrameSizeEnabled
Verify that maxFrameSizeEnabled being configured on the client or the
server is not negotiated and won't affect the other
2022-02-07 08:03:06 -05:00
Christopher L. Shannon 43aa1800fa
Merge pull request #756 from mattrpav/AMQ-8412c
[AMQ-8412] Update client-side maxFrameSize handling to be more symetrical with server-side
2022-02-07 08:01:58 -05:00
Matt Pavlovich 67a2edbf0d [AMQ-8412] Update client-side maxFrameSize handling to be more symetrical with server-side
- Handle in the OpenWireFormat class
 - Add unit tests to confirm
 - Verify compression is accounted for
 - Verify the ability to disable using wireFormat.maxFrameSizeEnabled=false
 - [cshannon] Reworked max frame size test case to add in all transports and all client/server cases
2022-02-06 17:45:11 -06:00
Matt Pavlovich 49f1b2c903 [AMQ-8053] UserIDBroker unit tests 2022-02-06 12:46:44 -06:00
Jean-Baptiste Onofré c36ca15d5d Fix maven plugin version 2022-02-01 18:10:44 +01:00
Jean-Baptiste Onofré bd8c24e91f
Merge pull request #753 from coheigea/coheigea/AMQ-8468
AMQ-8648 - CVE-2022-23437: Infinite loop within Apache XercesJ xml pa…
2022-02-01 14:22:47 +01:00
Jean-Baptiste Onofré 6f5860d7fc Fix javadoc generation related to reproducible build 2022-01-31 18:18:07 +01:00
Colm O hEigeartaigh 70915ea5c0
AMQ-8648 - CVE-2022-23437: Infinite loop within Apache XercesJ xml parser 2022-01-31 16:44:17 +00:00
Jean-Baptiste Onofré daeb23a5ee
Merge pull request #752 from jbonofre/AMQ-8467
[AMQ-8467] Upgrade to xstream 1.4.19
2022-01-31 17:22:31 +01:00
Jean-Baptiste Onofré 2206eb3ad6 [AMQ-8467] Upgrade to xstream 1.4.19 2022-01-31 11:27:53 +01:00
Jean-Baptiste Onofré bd7f391a42
Merge pull request #749 from stolsvik/main
StatisticsBrokerPlugin: Add feature: request destination firstMessageTimestamp
2022-01-30 16:06:34 +01:00
Jean-Baptiste Onofré c5d07ac016
Merge pull request #748 from mattrpav/AMQ-8412b
[AMQ-8412] Client-side handling of max frame size received from broker
2022-01-29 07:07:57 +01:00
Matt Pavlovich 48d0fb1171 [AMQ-8412] Client-side management of max frame size
- Store maxFrameSize on client-side
 - Check messages on outbound send to send an actionable exception to the caller
 - Add a reason code for max message size exceeded (client-side)
2022-01-26 09:49:42 -06:00
Endre Stølsvik 9167a79b79 StatisticsBrokerPlugin: Add feat: request destination firstMessageTimestamp
Adding a feature (STATS_FIRST_MESSAGE_TIMESTAMP) to the
StatisticsBrokerPlugin's destination-statistics for getting the
timestamp of the first message in the destination(s) being requested: If
you on the query-message set the property
StatisticsBroker.STATS_FIRST_MESSAGE_TIMESTAMP to anything (e.g. boolean
true), a long value "firstMessageTimestamp" will be added to the
statistics reply message(s). Since the reply message has JMSTimestamp
set, which is the broker's now-timestamp, you may also on the query side
calculate the age of the first message in milliseconds. The key name was
chosen since that is the name of the corresponding feature in Artemis.

This extension of the existing feature is implemented to be as
non-intrusive as possible, adding very little runtime cost if not
requested. It also seems like the runtime cost for enabling this
feature, thus finding and adding the firstMessageTimestamp, is small.

While at it, also slightly improving an existing feature
(STATS_DENOTE_END_LIST) where a reply to a destination query can be
"null terminated": After sending the relevant replies, the
StatisticsBroker also sends an empty message. This feature is relevant
if the query is a wildcard query, thus returning multiple messages: The
empty message denotes the end of the replies. However, to activate this
feature, a somewhat complicated query destination had to be constructed.
Adopting the solution for the other StatisticsBroker feature where you
may reset the broker statistics by adding a property to the query
message, this null-termination feature now /also/ checks for the
presence of this query modifier STATS_DENOTE_END_LIST as a property.
(This property based solution was thus also adopted for the present
'firstMessageTimestamp' solution, as it was found much more intuitive).

Added tests for both the STATS_FIRST_MESSAGE_TIMESTAMP query modifier,
and the improved STATS_DENOTE_END_LIST property-based query modifier.

Had to make the Topic.doBrowse(List browseList, int max) public - the
corresponding method for Queue was already public.

Made the evaluation of whether this is a StatisticsBroker-relevant
message a microscopic bit more performant (exiting faster if not
relevant): To the initial test of whether the message is relevant, which
only checked for replyTo being set, a check for 'destination.
startsWith("ActiveMQ.Statistics")' was added. Only if so, the rest of
the evaluations kick in. Also using 'string.startsWith(..)' instead of
the verbose 'string.regionMatches(..)'.

Removed an unused import on PartitionBrokerTest.java, as IntelliJ
complained about not finding it.
2022-01-25 09:45:48 +01:00
Jean-Baptiste Onofré d5441530a9
Merge pull request #746 from mattrpav/AMQ-8462
[AMQ-8462] Remove double call to listConnectionStates during connecti…
2022-01-24 18:47:16 +01:00
Matt Pavlovich 6a944a05d9 [AMQ-8462] Remove double call to listConnectionStates during connection close 2022-01-24 09:21:19 -06:00
Jean-Baptiste Onofré 3d2fb2b609
Merge pull request #707 from AlexejTimonin/sendTextMessageWithProperties-delimiter
[AMQ-8372] Allow custom delimiter when sending TextMessages via MBean
2022-01-22 17:14:03 +01:00
Jean-Baptiste Onofré 72b56f0941
Merge pull request #745 from cesarhernandezgt/AMQ-8460
[AMQ-8460] Upgrade to Spring 5.3.15
2022-01-21 08:43:49 +01:00
Cesar Hernandez 7d47508ceb [AMQ-8460] Upgrade to Spring 5.3.15 2022-01-20 12:00:46 -06:00
Jean-Baptiste Onofré 70e0b3babf
Merge pull request #728 from lucastetreault/scheduler-performance
[AMQ-7340] Improve scheduled message performance
2022-01-19 19:01:26 +01:00
Jean-Baptiste Onofré ea48a9c257 This closes #736 2022-01-19 18:29:25 +01:00
Anthony F d9450cdd74 [AMQ-8409] Fixed Unexpected \\r instead of \r in header property in incoming messages 2022-01-19 18:12:46 +01:00
Jean-Baptiste Onofré 5a16145c32
Merge pull request #727 from ViliusS/security/fix-web-console-access
[Security] Fix user permissions in web console
2022-01-19 17:47:41 +01:00
Jean-Baptiste Onofré 857e5fa649
Merge pull request #678 from jbonofre/AMQ-7351
[AMQ-7351] Upgrade to Apache POM 24
2022-01-18 14:19:08 +01:00
jbonofre 53a69abe5e [AMQ-7351] Upgrade to Apache POM 24 2022-01-17 18:47:54 +01:00