Commit Graph

10674 Commits

Author SHA1 Message Date
Justin Bertram 6a4fb5763f
NO-JIRA fix relase doc formatting 2024-03-19 14:01:27 -05:00
Justin Bertram 9757c52d43
This closes #4835 2024-03-19 13:58:03 -05:00
aslepykh bc86a0a481
ARTEMIS-4695 BAD_COPY_PASTE in ActiveMQScheduledLeaseLock.java
In the detectAndReportRenewSlowness() method, the logger.error() and
logger.warn() methods are called 3 times.

In two of the three calls, the method arguments correspond to parameters
that are tested in the if() conditional construct.

Also, the arguments of the logger.error() and logger.warn() methods are
identical in lines 139 and 141, respectively, which may indicate that
they were copied incorrectly.
2024-03-19 13:55:56 -05:00
aslepykh fc13a39c6f
ARTEMIS-4695 DLS_DEAD_LOCAL_STORE in AMQPLargeMessage.java
The local variable constructorPos is initialized with the value of
buffer.position() in line 330, but the variable itself is not used
anywhere else, which may indicate an error.
2024-03-19 13:55:36 -05:00
aslepykh 97a9c690ae
ARTEMIS-4695 BAD_COPY_PASTE in VersionedStompFrameHandler.java
In 1st branch (line 274) of the if() statement, the
Boolean.parseBoolean() method accepts the value
frame.getHeader(Stomp.Headers.Subscribe.NO_LOCAL), which is used in line
273.

In 2nd branch (line 276), the Boolean.parseBoolean() method accepts the
value frame.getHeader(Stomp.Headers.Subscribe.NO_LOCAL), although the
other value frame.hasHeader(Stomp.Headers.Subscribe.ACTIVEMQ_NO_LOCAL)
is used.

Found by Linux Verification Center (portal.linuxtesting.ru) with SVACE.
Author A. Slepykh.
2024-03-19 13:49:32 -05:00
Clebert Suconic 2214724565 ARTEMIS-4689 Adjusting XMLDataImporter to use BasicConnectionAbstract 2024-03-19 10:49:47 -04:00
Domenico Francesco Bruscino 6736c525e6 ARTEMIS-4693 Improve XPath filter performance
In most use cases there are broker instances with few XPath filters performed
many times, so reusing a compiled XPath expression improves XPath filter
performance
2024-03-19 09:19:42 -04:00
Justin Bertram 71d3393224 ARTEMIS-4689 import command should accept URL 2024-03-18 21:06:51 -04:00
Clebert Suconic 308aed3060 ARTEMIS-4691 Fixing LockManagerBackupSyncJournalTest
Fixing a few intermittent failures
2024-03-18 17:36:35 -04:00
Clebert Suconic 499a4eab6b ARTEMIS-4691 log.warn on inVM closing 2024-03-18 13:31:48 -05:00
Justin Bertram 50fae08b09 ARTEMIS-4657 support better correlation ID compat b/w JMS clients 2024-03-18 13:19:22 +00:00
Gary Tully 2e17a4a007 ARTEMIS-4582 - view and edit permissions, mops. security-settings for rbac on management apis 2024-03-15 16:40:45 +00:00
Justin Bertram 576622571a ARTEMIS-4559 refactor HA docs & code/module naming
This commit does the following:

 - Updates HA docs including the chapter on network isolation (i.e.
   split brain). The network isolation chapter is now more about
   high-level explanation and the HA doc now has all the configuration
   parameters.
 - Changes references to "pluggable quorum voting" to "pluggable lock
   manager." The pluggable functionality really isn't about voting.
   Conceptually is much more like the functionality you'd get from a
   distributed lock so this naming is more clear. Both the docs and the
   code have been changed.
 - Reorganize lock manager modules as sub-modules. The API and RI
   modules are renamed, but that should be OK based on the
   "experimental" tag that's been on this feature up to this point.
 - Remove the "experimental" tag from the lock manager.

These changes will not break folks using the standalone broker. However,
they will break folks embedding the broker *if* they are using the
artemis-quorum-ri or artemis-quorum-api modules or the
o.a.a.a.c.c.h.DistributedPrimitiveManagerConfiguration class.

There are no functional changes here. Renaming these modules is more a
conceptual change to facilitate better documentation and increased
adoption.
2024-03-15 10:18:05 -04:00
Robbie Gemmell a3cde08681 ARTEMIS-4631: update to spring 5.3.33 2024-03-15 10:42:13 +00:00
Gary Tully 49013aa5bd ARTEMIS-4690 fix java doc generation 2024-03-14 20:53:52 +00:00
Clebert Suconic 82c4df180e ARTEMIS-4690 Remove storageManager.addAddressSettings from the codebase 2024-03-14 13:38:28 -04:00
Justin Bertram 57ed2c30b3 ARTEMIS-4686 reduce number of FilterImpl instances
Whenever we create a queue with a filter we're instantiating 3 different
`org.apache.activemq.artemis.core.filter.impl.FilterImpl` objects. This
is wasteful and entirely avoidable.
2024-03-14 13:27:23 -04:00
Justin Bertram cb2b293810 ARTEMIS-4647 use specified call-timeout on backup connector 2024-03-13 23:22:31 -04:00
Justin Bertram 93e0826a38 ARTEMIS-4687 concurrent use of DocumentBuilder breaking Xpath filtering 2024-03-13 23:22:14 -04:00
Clebert Suconic 32138d64e4 ARTEMIS-4652 Adapting test to not throw XA_RETRY as requested 2024-03-13 20:25:22 -04:00
Domenico Francesco Bruscino 61b9753f80 ARTEMIS-4679 Config HA policy by using broker properties 2024-03-13 17:25:57 -04:00
Justin Bertram 269be13c5a ARTEMIS-4652 rollback of XAResource impl shouldn't return XA_RETRY
This fix was based on static analysis of the code and inspection of the
XA specification. There is no test associated with it due to the
difficult nature in reproducing the failure. This code has been
essentially the same for a decade and only now have there been any
reports of it actually sending back the wrong XA code.
2024-03-13 17:25:24 -04:00
Clebert Suconic d864780293 ARTEMIS-4684 Internal queues should not redistribute 2024-03-13 17:01:08 -04:00
Clebert Suconic 11b7671960 ARTEMIS-4684 Internal Queues should not redistribute
This is particularly true for the Mirrored SNF queue. Redistribution is not meant for internal queues. If an internal queue happens to have the same name on another server, it should not trigger redistribution when consumers are removed.

It would be possible to work around this by adding an address-setting specific to the address with redistribution disabled.

ClusteredMirrorSoakTest was intermittently failing because of this. For a few seconds while the mirror connection is still being made connections could move messages from one node towards another node if both have the same name.
2024-03-13 09:26:47 -04:00
Clebert Suconic c5b81d929d ARTEMIS-4682 Improving performance of reloading JDBC storage
- fixing leaks
- page.exists() would lead to a select(all) and find.
2024-03-11 20:58:27 -04:00
Justin Bertram 009687ef7c ARTEMIS-4648 support typed properties from CLI producer 2024-03-11 12:58:24 +00:00
Clebert Suconic 21368cf741 ARTEMIS-4678 JDBC User and password not used by CLI 2024-03-08 18:23:48 -05:00
Clebert Suconic 063968bb4f ARTEMIS-4677 Validating AutoCreate with Mirror and Clustering
There is no semantic change on this commit.

I wrote a test to validate a scenario and this is to keep the test in the codebase.
2024-03-07 15:36:29 -05:00
Justin Bertram 7742936583 ARTEMIS-4676 use ActionContext consistently for logging in CLI commands 2024-03-07 15:36:16 -05:00
Clebert Suconic fd1ef367d3 ARTEMIS-4670 Slow processing with Large Messages and JDBC 2024-03-07 13:09:58 -05:00
Jan Šmucr 3c580c9351 ARTEMIS-4579 Add `peekFirstMessage*` and `peekFirstScheduledMessage*` functions 2024-03-07 10:45:14 -06:00
Clebert Suconic 9cd48602ab ARTEMIS-4664 Just fixing a typo on the test method name 2024-03-07 10:51:36 -05:00
AntonRoskvist 45533c38da ARTEMIS-4664 - autoCreatedResource can get removed while receiving batch of messages 2024-03-07 10:45:41 -05:00
Emmanuel Hugonnet 56ec308045 ARTEMIS-4672 - Upgrade Netty to 4.107.Final
* Upgrading netty-tcpnative to 2.0.63
 * Upgrading netty to 4.107.Final

Signed-off-by: Emmanuel Hugonnet <ehugonne@redhat.com>
2024-03-07 12:42:30 +00:00
Clebert Suconic c83ed8957d ARTEMIS-4668 Moving AMQP Large Message file handling away from Netty thread 2024-03-06 15:21:01 -05:00
Clebert Suconic 5ce70f9e37 ARTEMIS-4669 Clarify Storage Manager usage around large messages 2024-03-05 17:27:18 -05:00
Justin Bertram 661a4e6fdc ARTEMIS-4655 report logging metrics
It may be useful to configure alerts for ERROR or WARN events in the log
which may go unnoticed otherwise.
2024-03-05 09:37:11 +00:00
Clebert Suconic b5791344b4 ARTEIS-4651 Speeding up delivery resume when SNF is paged 2024-03-04 10:47:12 -05:00
Timothy Bish f9f5ed373f ARTEMIS-4665 Fix AMQP federation pull consumer test failures
Fix intermittent test failures in pull consumer test by asserting that there
are the expected number of message on the queue before running the JMS consume
cycle to consume credit and trigger federation credit to flow.
2024-03-01 08:12:22 -08:00
Timothy Bish cffc72fd51 ARTEMIS-4665 Add additional state checks to fix test failures in CI
Tests need to ensure federation links are up before sending to and address
or the sent message can get discarded before the federation consumer is there
to receive it.
2024-02-29 13:44:59 -08:00
Robbie Gemmell c7f536c8b8 ARTEMIS-4631: update to Spring 5.3.32 2024-02-29 16:16:27 +00:00
Robbie Gemmell 155634b115 ARTEMIS-4621: update to PostgreSQL 42.7.2 2024-02-29 16:16:27 +00:00
Gary Tully 6fe603f717 NO-JIRA add comment on current directory to the image build readme 2024-02-29 15:15:16 +00:00
Justin Bertram b10e752e6e
NO-JIRA add optional metrics doc details 2024-02-28 14:08:20 -06:00
Timothy Bish fd5d9b9ad0 ARTEMIS-4658 Prevent reflections when using dual address federation
When federation is configured in two directions between nodes for an address
the message can reflect from one node to another if max hops is not set or not
set correctly and in some federation topologies the max hops value can't solve
the issue and still result in a working configuration. This reflection should
be prevented at the federation consumer level for address consumers.
2024-02-28 16:37:18 +00:00
Robbie Gemmell 723c11ac15 ARTEMIS-4656: remove superflous artemis-spring-integration module 2024-02-27 16:02:54 +00:00
Clebert Suconic b4aa652c7b NO-JIRA Improving AuditLoggerTest::testAuditHotLog* tests
These tests are using an asynchronous feature. the check on Log has to use the Wait.assertEquals

I had to make a few changes to the methods to allow the use of Wait
2024-02-27 10:46:43 -05:00
Clebert Suconic c6cf68fe5c ARTEMIS-4651 Reverting test change on PagedMirrorSmokeTest as it wasn't needed 2024-02-26 11:26:05 -05:00
Clebert Suconic db94b18b73 ARTEMIS-4651 Performance improvements on Mirror and Paging 2024-02-26 11:01:04 -05:00
Albertas Vyšniauskas f4b59c9b25 ARTEMIS-4646 Reuse only acknowledged MQTT IDs
Generate MQTT message IDs from full allowed range of 1-65535 and skip
currently used values. Do not use atomic integer for current ID, because
all accesses and modifications are performed in synchronized context.
2024-02-22 10:54:46 -06:00