Commit Graph

2234 Commits

Author SHA1 Message Date
Justin Bertram bd99a11780 ARTEMIS-4135 mitigate NPE when browsing 2023-01-17 12:18:58 -06:00
iliya e68034518d ARTEMIS-4129 Add max-saved-replicated-journals-size parameter to primary and replicated policy configuration
Allow override default max-saved-replicated-journals-size value when the server is configured as primary or replicated.
2023-01-17 12:07:10 -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
Clebert Suconic 4550fcf47c ARTEMIS-4116 Management lock to avoid multiple long running tasks running from user requests 2023-01-13 09:23:51 -05:00
Clebert Suconic b565a8a7b9 ARTEMIS-4114 Avoiding deadlock during scale down
We will rely on existing tests for this change
2023-01-13 09:23:51 -05:00
Clebert Suconic abd62665ce ARTEMIS-4125 Fixing AutoCreateJmsDestinationTest::testAutoCreateOnSubscribeToTopic 2023-01-12 16:17:28 -05:00
Clebert Suconic c231e6a643 ARTEMIS-4125 Fixing AutoCreate Topics remove of the address
This is fixing AutoCreateJmsDestinationTest::testAutoCreateOnSubscribeToTopic
2023-01-12 11:02:35 -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
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
Clebert Suconic 51a3c6a351
ARTEMIS-3993 Fix test 2022-12-16 13:02:48 -06:00
clebert 16046b368d ARTEMIS-3993 Fixing test when libaio is loaded 2022-12-16 10:35:48 -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 df81bfa567 ARTEMIS-4103 support journal-lock-acquisition-timeout in broker.xml 2022-12-15 13:44:40 -06:00
Erwin Dondorp 065e4246e1 ARTEMIS-3993 changed some MB style uses to use MiB; added support for MiB/GiB/etc in config 2022-12-15 13:14:24 -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 fa8d487ff2 ARTEMIS-3866 Authorize management message sending using context subject 2022-12-15 11:51:39 -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 4924bd6b81
ARTEMIS-4101 fix license syntax 2022-12-13 11:41:27 -06:00
Justin Bertram 499e3c119f ARTEMIS-4101 caching failed authn result on LDAP cxn failures 2022-12-13 09:07:28 -05:00
Gary Tully bd72a4f38d ARTEMIS-3168 - more idomatic usage of mock-server-netty - with hasStarted 2022-12-08 11:31:25 +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
Gary Tully 0004e52355 ARTEMIS-3168 - isolate from leaked login.config system property by seting baseDir option 2022-12-02 17:43:18 +00:00
Gary Tully d95321bf83 ARTEMIS-3168 - fix contention on pem creation and tidy up system properties 2022-12-02 14:33:40 +00:00
Gary Tully 5633de9cb0 ARTEMIS-3168 - fix test dependency on login.config system property being set 2022-12-02 13:21:45 +00:00
Gary Tully 7d537882ca ARTEMIS-3168 - fix test, ref to auto created pem before creation complete 2022-11-25 17:29:05 +00:00
ruromero 3e50014e0d [ARTEMIS-3168] Implement Kubernetes JaaS LoginModule
Signed-off-by: ruromero <rromerom@redhat.com>
2022-11-22 11:44:00 +00:00
Gary Tully eb0aa118b4 NO JIRA - test that shows need for lower case property prefix with existing fluent introspector 2022-11-21 14:13:18 +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
Domenico Francesco Bruscino 3a5e4ce363 ARTEMIS-4030 Fix SharedStoreLiveActivation race condition
DefaultCriticalErrorListener stops the server while SharedStoreLiveActivation
is initializing it.
2022-11-10 12:09:43 -06: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
Justin Bertram ccb76c0a2a ARTEMIS-4064 Harden MetricsManager
In order to improve trouble-shooting for the MetricsManager there should
be additional logging and exceptions. In all, this commit contains the
following changes:

 - Additional logging
 - Throw an exception when registering meters if meters already exist
 - Rename a few variables & methods to more clearly identify what they
   are used for
 - Upgrade Micrometer to 1.9.5
 - Simplify/clarify a few blocks of code
 - No longer pass the ManagementServiceImpl when registering the
   metrics, but instead pass the Object the meter is observing (e.g.
   broker, address, or queue)
2022-10-31 09:04:20 -04:00
Robbie Gemmell 92a87b0912 ARTEMIS-4060: temporarily make commons-text an explicit dep of artemis-server for now so dependent projects get the updated dep version 2022-10-26 14:16:12 +01:00
Clebert Suconic 0da14a303d ARTEMIS-4073 Relaxing some locks that were not necessary and were causing dead locks on the testsuite 2022-10-26 07:55:57 -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
Justin Bertram 9138cc86ca ARTEMIS-4049 user add fails w/space in broker path
This problem was originally discovered on Windows, but the problem
occurs on *nix as well.
2022-10-19 10:09:33 +01:00
Clebert Suconic 51c50d8546 ARTEMIS-4056 Fixing compatibility with getFirstMessage()
if Empty the previous method was returning new Map[1] and the JSON output would be slightly different and I am playing safe here just in case.
2022-10-18 13:49:32 -04:00
Clebert Suconic 77ad2b0bc0 ARTEMIS-4056 Expanding nextPage check into isDeleted 2022-10-18 11:51:47 -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
Robbie Gemmell 8c209adc99 ARTEMIS 4007: tweak javadoc to stop build failure with newer javadoc plugin 2022-10-17 11:06:48 +01:00
Clebert Suconic e1e728a28e NO-JIRA Debug statement on paging manager 2022-10-16 02:02:19 -04:00
Clebert Suconic 52c45f5aec ARTEMIS-4025 Fixing JSon transient attribute after serialization copy 2022-10-14 15:42:42 -04:00
Gary Tully 3b981b3920 ARTEMIS-4028 - add alder32 checksum to the status of properties files read by the broker 2022-10-13 18:23:09 +01: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 0ab098e456
ARTEMIS-4035 all consumers of federated queue drop if only one consumer drops 2022-10-13 10:36:38 -05:00
Clebert Suconic 7b2f7e1707 ARTEMIS-4041 Fixing NPE on SequentialFileFactory after the CriticalIO change 2022-10-12 17:03:13 -04: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
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 18cfdb7049 ARTEMIS-4024 Avoid excessive NativeMemory allocation when sending OpenWire Multi mega sized messages in openwire 2022-10-04 13:35:50 -04:00
Robbie Gemmell f465073744 ARTEMIS-4026: correct connection-router related log statement value and/or level 2022-10-03 15:11:06 +01:00
Clebert Suconic 9647e6555f NO-JIRA small tweak on comment 2022-09-30 11:04:22 -04:00
Robbie Gemmell bd85a3eab7 ARTEMIS-4020: consolidate loggers in ActiveMQTestBase, use placeholders in messages 2022-09-30 11:41:33 +01:00
Robbie Gemmell 1ad1128db2 ARTEMIS-4020: have the concrete classes provide logger to the shared abstract impl instead of using getClass() in parent
followup to 12cc70c5bf PR discussion
2022-09-30 11:38:32 +01: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
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
Clebert Suconic e865558b30 ARTEMIS-3763 Fixing test I missed on my previous commit for JDBCLock 2022-09-22 14:39:48 -04:00
Marlon Müller 9fa36e7c53 ARTEMIS-3763 Use margin when checking time difference between broker and database
* Add configurable time margin for checking offset between database server and broker when updating lease lock
2022-09-22 14:34:33 -04: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
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
Justin Bertram 8b56c04293
ARTEMIS-3962 porting changes from AMQ-5281
Incorrect handling of unknown values in selectors.

There is a slight semantic change here due to an error in the way we
were handling null identifiers. This may require a change in selector
syntax to use "IS NULL" or "IS NOT NULL" when using identifiers which
may be null in the message being selected.

This was the case for an internal filter used by the cluster connection
bridge to select which cluster notification messages to consume.

See https://issues.apache.org/jira/browse/AMQ-5281 for more details.
2022-09-19 14:45:05 -05:00
Domenico Francesco Bruscino 93a5f3b596 ARTEMIS-3999 Fix setting extraParams for new acceptors via broker properties 2022-09-19 08:18:12 +02:00
Domenico Francesco Bruscino fda7f6ba37 ARTEMIS-3998 Fix broker properties for connectionRouters 2022-09-15 15:42:29 -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
Gary Tully c8624f57d7 ARTEMIS-3978 - allow federation upstream configuration via properties 2022-09-15 13:27:41 +01: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 c4145e9226 ARTEMIS-3973 Solving concurrent issue between Subscription.ack and moveNext under heavy CPU usage 2022-09-13 10:49:22 -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 66ac39eb81 ARTEMIS-3971: set -noindex to exclude various .js files from javadoc output 2022-09-06 17:23:56 +01: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
Clebert Suconic d4cbbfde1e ARTEMIS-3943 Changing default broker.xml and xsd with max-page-read comments and defaults 2022-08-30 13:45:17 -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
Domenico Francesco Bruscino 45a1245cb0 ARTEMIS-3963 Fix setting security roles via properties on OpenJ9 JDK 11
RoleSet.class.getMethods() returns the same methods on both OpenJDK 11 and
OpenJ9 JDK 11 but the order is different. OpenJDK 11 returns
`public void org.apache.activemq.artemis.core.config.impl.RoleSet.add` before
`public boolean java.util.HashSet.add` while OpenJ9 JDK 11 returns
`public boolean java.util.HashSet.add` before
`public void org.apache.activemq.artemis.core.config.impl.RoleSet.add`
2022-08-30 12:06:20 -04: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
Justin Bertram 0e56d1a567 ARTEMIS-3961 don't log OperationContext 2022-08-29 16:27:40 -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 a0f39a4b28 ARTEMIS-3956 clean up use of RemotingConnection
org.apache.activemq.artemis.spi.core.protocol.RemotingConnection has a
number of implementations most notably an abstract version which
provides many methods shared among the implementations. The sharing
could be improved to eliminate duplicate code.

This commit eliminates more than 700 lines of unnecessary code.

There should be no semantic changes.
2022-08-25 18:12:11 -04:00
Justin Bertram 729fdc4aab ARTEMIS-3955 consolidate Subject on RemotingConnection 2022-08-25 18:12:11 -04:00
Justin Bertram f88381430c
ARTEMIS-3872 fix NPE 2022-08-25 15:16:32 -05: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 f1c9e3df14
ARTEMIS-3947 fix merging for expiry address-settings 2022-08-19 22:38:41 -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
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 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
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
Andy Taylor 609343ec78 ARTEMIS-3917 Fix incorrect getters/setters on Configuration API
and added test for primitive configuration properties

https://issues.apache.org/jira/browse/ARTEMIS-3917
2022-08-02 08:58:47 -04:00
Andy Taylor d67910f1a6 added test for mirroring and properties 2022-08-01 11:20:09 -04:00
Justin Bertram 7184862bb5
NO-JIRA update XSD missed in ARTEMIS-3805 2022-07-29 09:35:48 -05:00
Domenico Francesco Bruscino d250801fcf ARTEMIS-3900 Support management allowlist entries with wildcard domain 2022-07-28 13:39:00 -04:00
Clebert Suconic e44bd5266f ARTEMIS-3909 Move RoutingContext::processReferences as a static method in PostOffice
We were lucky that processReferences was pretty much a static operation, hence I am moving it away from RoutingContext both for clarity and avoiding state being needed on that method.
If state was needed as part of processReferences you would had a pretty nasty bug as the IOCallback could introduce a race where a send would change the state while the IO was pending.
2022-07-28 13:04:10 -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 55865ab4b4 Revert "ARTEMIS-3902 Adding reason to Audit Security Message"
This reverts commit db8f530256.
2022-07-22 11:37:46 -04:00
Clebert Suconic db8f530256 ARTEMIS-3902 Adding reason to Audit Security Message 2022-07-22 11:22:30 -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
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 a2262612ca
ARTEMIS-3892 fix tests, add docs 2022-07-20 11:36:12 -05:00
Justin Bertram 688b894c62 ARTEMIS-3896 clarify logging for transactional ops
Both audit logging and logging from the LoggingActiveMQServerPlugin are
unclear as they relate to transactional sends and acks. Both essentially
ignore the transaction which makes it appear that an operation has taken
place when, in fact, it hasn't (e.g. a transactional ack is rolled back
but the log indicates the ack went through).

This commit fix this with the following changes:

 - Log details when a send or ack is added to a transaction.
 - Log details when the transaction is committed.
 - Log when the transaction is rolled back.
 - Include transaction details in the relevant DEBUG logs.
 - Simplify INFO level logging for sends & acks in
LoggingActiveMQServerPlugin. Ensure details are in the DEBUG logs.

Other changes:

 - Make capitalization more consistent in a handful of audit logs.
2022-07-20 11:35:18 -04: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
Gary Tully 7bc3b02809 ARTEMIS-3895 - treat properties url with trailing slash as directory of .properties files and apply in lexical order of name 2022-07-18 10:38:54 +01:00
Clebert Suconic 0f5bd28e23 ARTEMIS-2894 Small tweak into newInstance call 2022-07-14 11:55:24 +01:00
Gary Tully d3ed11da2a ARTEMIS-3894 - resolve errorprone warn on vargs call 2022-07-13 15:44:26 -04:00
Gary Tully 7ee820864b ARTEMIS-3894 - add conversion from string for list - allow core bridge static connector config via properties 2022-07-13 15:44:26 -04:00
Gary Tully 1f2543029c ARTEMIS-3891 - allow TransformerConfig creation via properties 2022-07-13 00:01:35 -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
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
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
Ryan Highley 2123de415b ARTEMIS-3873 AMQP Broker Conn Encrypted Attrs
Adds support for ENC(...) attribute values for user and password on
amqp-connection.
2022-06-27 14:37:27 +02:00
Gary Tully 6d926719f4 ARTEMIS-3863 - allow Role configuration via properties 2022-06-23 09:41:33 +01:00
Clebert Suconic 9dd026118e ARTEMIS-3862 Short lived subscriptiong makes address size inconsistent 2022-06-17 16:57:35 -04: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
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
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
Gary Tully b390a6b08f ARTEMIS-3835 - deprecate addressesSettings in place of addressSettings on the Configuration bean 2022-05-18 08:13:17 +02:00
Gary Tully 168b61ec38 ARTEMIS-3826 - allow address/queue configuration via properties 2022-05-18 08:07:58 +02:00
Clebert Suconic bed9af2e51 ARTEMIS-3825 Improve Print-data output with non existing queues 2022-05-10 16:53:53 -04:00
Domenico Francesco Bruscino 7a03f58be9 ARTEMIS-3816 Fix connection router null pointer dereferences 2022-05-10 10:02:46 +02:00
Gary Tully d433f3bc3f ARTEMIS-3823 - limit modulo operation to positive hash values 2022-05-10 10:01:24 +02:00
Clebert Suconic e420eb4732 ARTEMIS-3817 SchedulePageCleanup operation on AddressControl 2022-05-09 09:17:56 -04:00