10008 Commits

Author SHA1 Message Date
Justin Bertram
97c78525da ARTEMIS-4181 make try-with-resources style consistent 2023-03-03 08:40:51 -06:00
Erwin Dondorp
5d024b7dd5 ARTEMIS-4183 fix relations on refresh icw added nodes 2023-03-03 08:40:20 -06:00
Clebert Suconic
812cdf3589 ARTEMIS-4194 Upgrade CheckLeak to 0.8 2023-03-02 21:15:17 -08:00
Clebert Suconic
9f1927d3fa ARTEMIS-4193 Large Message Files orphaned after server killed 2023-03-02 19:03:37 -08:00
Clebert Suconic
aae65fd527 NO-JIRA Fixing CompareUpgradeTest 2023-03-02 18:12:51 -08:00
Clebert Suconic
3e7cb24381 NO-JIRA Adding CompareUpgradeTest to fast-tests 2023-03-02 18:12:51 -08:00
Justin Bertram
50e90cad5d ARTEMIS-4151 tighten default MBean access
This is a preventative measure to limit what users can do with any MBean
other than those in the hawtio or org.apache.activemq.artemis domains.
2023-03-02 19:17:14 -06:00
Justin Bertram
b76c672305 ARTEMIS-4162 support deleting addresses & queues w/o usage check
There are certain use-cases where addresses will be auto-created and
never have a direct binding created on them. Because of this they will
never be auto-deleted. If a large number of these addresses build up
they will consume a problematic amount of heap space.

One specific example of this use-case is an MQTT subscriber with a
wild-card subscription and a large number of MQTT producers sending one
or two messages a large number of different MQTT topics covered by the
wild-card. Since no bindings are ever created on any of these individual
addresses (e.g. from a subscription queue) they will never be
auto-deleted, but they will eventually consume a large amount of heap.
The only way to deal with these addresses is to manually delete them.

There are also situations  where queues may be created and never have
any messages sent to them or never have a consumer connect. These
queues will never be auto-deleted so they must be deleted manually.

This commit adds the ability to configure the broker to skip the usage
check so that these kinds of addresses and queues can be deleted
automatically.
2023-03-02 19:17:03 -06:00
Justin Bertram
6874556f7c ARTEMIS-4188 auto-create + MDB using selector on queue 2023-03-02 16:26:12 -08:00
Clebert Suconic
de7920d68a ARTEMIS-4191 Adding logger.debug on JournalImpl::needsCompact 2023-03-02 10:00:41 -05:00
Gary Tully
dc7d1e25cc NO-JIRA - add test for ENC of tls params for broker amqp connection via props 2023-03-02 12:53:30 +00:00
Clebert Suconic
8078dd098c ARTEMIS-4171 Messages leaking thorugh AMQP Delivery
there are two leaks here:

* QueueImpl::delivery might create a new iterator if a delivery happens right after a consumer was removed, and that iterator might belog to a consumer that was already closed
             as a result of that, the iterator may leak messages and hold references until a reboot is done. I have seen scenarios where messages would not be dleivered because of this.

* ProtonTransaction holding references: the last transaction might hold messages in the memory longer than expected. In tests I have performed the messages were accumulating in memory. and I cleared it here.
2023-02-28 14:36:32 -05:00
Clebert Suconic
9e524d978d ARTEMIS-4175 JournalFileImpl Leaking
I am now removing the negatives once the file is removed or reused
2023-02-28 13:54:03 -05:00
Domenico Francesco Bruscino
7810a9d686 ARTEMIS-4179 Fix security-keycloak log errors 2023-02-27 11:46:55 +01:00
Justin Bertram
438dd47a78
ARTEMIS-4177 remove defunct logging doc 2023-02-24 12:15:11 -06:00
Domenico Francesco Bruscino
aa8102d50f ARTEMIS-4179 Upgrade keycloak version to 21.0.0 2023-02-23 15:14:43 +00:00
Timothy Bish
a7973c1dc3 ARTEMIS-4178 Fix some minor typos in broker connections docs
Fix a few small typos in the broker connections docs
2023-02-23 12:57:46 +00:00
Domenico Francesco Bruscino
8bdffe872c ARTEMIS-4176 Fix console custom root redirect 2023-02-23 12:56:06 +00:00
David Lanouette
7e1f6c1abe ARTEMIS-4160 Handle hostnames with double dashes
Previously, the code added a comment with the host name in it.
Sometimes hostnames don't follow the xml standards for comments.
Specifically, having a double dash ("--") in the host name would cause
an error when jolokia tried to load the config file - because it was
invalid xml.

The simple solution was to not put the host name into the comment.

A unit test has been included to ensure the same thing doesn't happen in the
future.

Signed-off-by: David Lanouette <David.Lanouette@RedHat.com>
2023-02-22 06:01:45 +01:00
Justin Bertram
7fe1a20909 ARTEMIS-4170 remove redundant queue creation for OpenWire
o.a.a.a.c.p.o.a.AMQConsumer#init will *always* try to create a core
queue when creating a consumer for a JMS queue. However, this is
already done in o.a.a.a.c.p.o.a.AMQSession#createConsumer.
2023-02-16 13:40:15 -08:00
Justin Bertram
ef28cadfae ARTEMIS-4158 upgrade doc generation utils
Bump versions of NPM, Node, & HonKit. The changes to package-log.json
were automatically generated.
2023-02-16 13:38:44 -08:00
Justin Bertram
fb169bc4af ARTEMIS-4172 sending large msg via core skips plugins & audit log 2023-02-16 13:34:29 -08:00
Justin Bertram
82fc42987a ARTEMIS-4171 potential large message file leak 2023-02-16 13:34:29 -08:00
Clebert Suconic
c123a29f8e ARTEMIS-4161 Removing test.log left by accident 2023-02-16 16:10:28 -05:00
Clebert Suconic
a2ba6ed298 ARTEMIS-4161 AMQP and OpenWire leaking leaking objects in certain conditions
The issue identified with AMQP was under Transaction usage, and while opening and closing sessions.
It seems the leak would be released once the connection is closed.

We added a new testsuite under ./tests/leak-tests To fix and validate these issues
2023-02-16 12:10:54 -08:00
Justin Bertram
49cc8ba1c8 ARTEMIS-4168 fix Keycloak example deps 2023-02-14 09:57:39 +00:00
Paul Wright
d06d996950 NO-JIRA Add link to download page 2023-02-14 08:47:12 +01:00
Justin Bertram
9f04fea592
NO-JIRA add performance info to cluster doc 2023-02-13 14:07:51 -06:00
ALX
3db843a760 NO-JIRA Minor corrections to the HA documentation page 2023-02-13 11:53:58 +01:00
Justin Bertram
d531a9378d
NO-JIRA update hacking guide 2023-02-10 12:24:20 -06:00
Justin Bertram
733cb4c11f
NO-JIRA clarify unit testing doc 2023-02-10 12:06:06 -06:00
Rakhi Kumari
17c760ab7b ARTEMIS-4157: Fix error setting broker properties for AddressSettings 2023-02-10 09:53:22 +00:00
Clebert Suconic
69e21a0eb7 ARTEMIS-4163 Fixing openwire race while chunkSend is happening 2023-02-09 19:58:40 -05:00
Gary Tully
446df6d825 NO-JIRA - add in default to doc for connectionsAllowed 2023-02-09 10:54:26 +00:00
Gary Tully
94516b8b37 fix mirror test that validates autostart 2023-02-08 16:44:42 +00:00
Clebert Suconic
1caa406bbf NO-JIRA Adding a test to verify TX in OpenWire Large Message Handling 2023-02-08 09:29:11 -05:00
Justin Bertram
cfb585eaf6 ARTEMIS-4150 disable Log4j2 MBean by default 2023-02-06 13:20:49 -06:00
Justin Bertram
f154c0b7dd ARTEMIS-4153 Support 'offline' Maven 2023-02-06 13:20:34 -06:00
Clebert Suconic
ed5f63538e ARTEMIS-4155 Fixing deadlock on LargeMessage conversion and retention 2023-02-06 09:27:18 -05:00
Ryan Highley
6e4af114f1 NO-JIRA - Hacking Guide Branch Name Updates
Updates the hacking guide docs to correct the branch names as "main"
2023-02-03 10:40:48 -05:00
Justin Bertram
8f30347b18 ARTEMIS-4143 improve mitigation against split-brain with shared-storage
Configurations employing shared-storage with NFS are susceptible to
split-brain in certain scenarios. For example:

  1) Primary loses network connection to NFS.
  2) Backup activates.
  3) Primary reconnects to NFS.
  4) Split-brain.

In reality this situation is pretty unlikely due to the timing involved,
but the possibility still exists. Currently the file lock held by the
primary broker on the NFS share is essentially worthless in this
situation. This commit adds logic by which the timestamp of the lock
file is updated during activation and then routinely checked during
runtime to ensure consistency. This effectively mitigates split-brain in
this situation (and likely others). Here's how it works now.

  1) Primary loses network connection to NFS.
  2) Backup activates.
  3) Primary reconnects to NFS.
  4) Primary detects that the lock file's timestamp has been updated and
     shuts itself down.

When the primary shuts down in step #4 the Topology on the backup can be
damaged. Protections were added for this via ARTEMIS-2868 but only for
the replicated use-case. This commit applies the protection for
removeMember() so that the Topology remains intact.

There are no tests for these changes as I cannot determine how to
properly simulate this use-case. However, there have never been robust,
automated tests for these kinds of NFS use-cases so this is not a
departure from the norm.
2023-02-03 10:40:08 -05:00
Timothy Bish
d1b3610f68 ARTEMIS-2431 Stop processing Begin and Attach frames if open fails
For pipelined open cases the events processing should ignore additional begin
and attach events if the open event handler closes the connection to avoid the
processing throwing additional exceptions and replacing the error condition in
the connection with an unrelated error about NPE from the additional events.
2023-02-01 17:53:32 -05:00
Justin Bertram
5acf269109
NO-JIRA improve formatting for remote JMX doc 2023-01-31 12:03:37 -06:00
Clebert Suconic
2378d187af [maven-release-plugin] prepare for next development iteration 2023-01-31 07:22:48 -05:00
Clebert Suconic
893e1e7916 [maven-release-plugin] prepare release 2.28.0 2.28.0 2023-01-31 07:22:47 -05:00
Clebert Suconic
4b55da3eb0 Updating release docs 2023-01-31 07:10:48 -05:00
Robbie Gemmell
031788dbe8 ARTEMIS-3178: remove erroneous comment 2023-01-31 11:48:43 +00:00
Clebert Suconic
bbf1baf3b2 ARTEMIS-3178 Fixing validation on PagingStoreImpl for parameters set 2023-01-31 06:40:57 -05:00
Clebert Suconic
764db34e9b ARTEMIS-3178 Page Limitting (max messages and max bytes)
I am adding three attributes to Address-settings:

* page-limit-bytes: Number of bytes. We will convert this metric into max number of pages internally by dividing max-bytes / page-size. It will allow a max based on an estimate.
* page-limit-messages: Number of messages
* page-full-message-policy: fail or drop

We will now allow paging, until these max values and then fail or drop messages.

Once these values are retracted, the address will remain full until a period where cleanup is kicked in by paging. So these values may have a certain delay on being applied, but they should always be cleared once cleanup happened.
2023-01-30 18:19:45 -05:00
Gary Tully
b5ae95c376 ARTEMIS-4149 - add watch to login.config dir to trigger periodic update to jass reloadable properties status in the absence of login attempts 2023-01-30 15:25:58 -05:00