Commit Graph

10359 Commits

Author SHA1 Message Date
Justin Bertram e935b74f7a ARTEMIS-4595 upgrade Guava to 33.0.0-jre 2024-02-01 09:14:40 -06:00
Justin Bertram b863bc4ede ARTEMIS-4594 upgrade Error Prone to 2.24.1
This commit also fixes any new problems found with the new version.
2024-02-01 09:14:30 -06:00
Justin Bertram 38c36599c9 ARTEMIS-4592 detect possible dependency updates 2024-02-01 09:14:17 -06:00
Justin Bertram 1098fb8a32 ARTEMIS-4591 upgrade Netty to 4.1.106.Final 2024-02-01 09:14:07 -06:00
Domenico Francesco Bruscino 45744698f7 ARTEMIS-4628 Upgrade vertx-proton test dep to 4.5.2 2024-02-01 16:04:33 +01:00
Clebert Suconic 9657cae0f1 ARTEMIS-4627 Use now publicly available jdbc drivers for Oracle
these drivers are downloaded on the server's and only used if the Oracle profile is enabled
2024-02-01 08:47:04 -05:00
Robbie Gemmell 5afe289490 NO-JIRA: add note about installing PyYAML to use the site release update scripts 2024-02-01 12:38:16 +00:00
Robbie Gemmell 6f6b3e70a3 NO-JIRA: update release steps to around updating examples
Note to check out the development branch before running the update script, to get updates to the scripts
2024-02-01 12:21:33 +00:00
Justin Bertram f258b27eb4 ARTEMIS-4601 remove OpenTelemetry deps from main pom
The OpenTelemetry dependencies can be isolated to the `opentelemetry`
example in the `activemq-artemis-examples` repo. They aren't needed here
anymore.
2024-02-01 11:35:50 +00:00
Justin Bertram 0465e9c725 ARTEMIS-4600 upgrade Micrometer to 1.12.2 2024-01-31 13:44:24 -06:00
Justin Bertram a60a8a12cf
NO-JIRA fix dead link in doc 2024-01-31 08:43:37 -06:00
Domenico Francesco Bruscino 6ebd390330 ARTEMIS-4587 Config security setting plugins by using broker properties 2024-01-31 11:38:29 +01:00
a181321 efe450298d ARTEMIS-4527 - Redistributor race when consumerCount reaches 0 in cluster 2024-01-30 14:22:28 -05:00
Robbie Gemmell 8ad8c9d385 ARTEMIS-4589: consolidate utility code and remove the remaining test-jar creations in tests/ tree 2024-01-30 13:18:18 -05:00
Robbie Gemmell 14bbc041d7 NO-JIRA: remove a bunch of commented out code in util test class 2024-01-30 15:32:55 +00:00
Justin Bertram b08602b8d6
NO-JIRA doc spelling fix 2024-01-29 15:10:36 -06:00
Justin Bertram 513b7826a4 ARTEMIS-4532 MQTT-to-core wildcard conversion is broken
Currently when an MQTT topic filter contains characters from the
configured wildcard syntax the conversion to/from this syntax breaks.

For example, when using the default wildcard syntax if an MQTT topic
filter contains a . the conversion from the MQTT wildcard syntax to the
core wildcard syntax and back will result in the `.` being replaced with
a `/.`.

This commit fixes that plus a few other things...

 - Implements proper conversions to/from one WildcardConfiguration to
   another.
 - Refactors the MQTT code which invokes these conversion methods. This
   includes simplifying a lot of test code.
 - Adds lots of tests for everything.
 - Clarifies some variable naming to better distinguish between core and
   MQTT.
2024-01-29 18:35:43 +00:00
Clebert Suconic ddac006161 ARTEMIS-4585 Previously installed mirror queues with metrics plugin would make mirror non usable 2024-01-26 14:58:40 -05:00
Robbie Gemmell 83eb03c665 ARTEMIS-4583: remove the artemis-server test-jar, do related cleanup
- Move ActiveMQTestBase to artemis-test-support.
- Add reduced parent for current artemis-server tests.
- Add a simpler test case parent class unit tests can use.
- Convert some existing checks into a rule for reuse.
- Move various rules/utils to artemis[-unit]-test-support module from where they can be used instead of from artemis-server.
2024-01-25 16:48:49 +00:00
Clebert Suconic e513e6d2dd [maven-release-plugin] prepare for next development iteration 2024-01-24 14:21:08 -05:00
Clebert Suconic dbaa508d07 [maven-release-plugin] prepare release 2.32.0 2024-01-24 14:21:07 -05:00
Clebert Suconic 590b1c29c6 NO-JIRA Updating versions.adoc. Adding note about examples 2024-01-24 14:07:09 -05:00
Clebert Suconic 6e796ec090 NO-JIRA Updating versions.adoc before a release 2024-01-24 14:00:48 -05:00
Howard Gao 07b02159d2 ARTEMIS-4570 filter not applied to all brokers in cluster 2024-01-23 16:13:13 -05:00
Clebert Suconic 4b78cabe4e NO-JIRA Making ClusteredLargeMessageTest more reliable
This is waiting and asserting the topology size before starting the test methods.
2024-01-23 10:46:03 -05:00
Justin Bertram 44ceeff63c ARTEMIS-4540 validate MQTT session state data 2024-01-22 20:58:13 -06:00
Justin Bertram 019fc86138 ARTEMIS-4542 improve MQTT state storage
This commit:

 - Eliminates MQTT session storage on every successful connection.
   Instead data is only written when subsriptions are created or
   destroyed.
 - Adds a configuration property for the storage timeout.
 - Updates the documentation with relevant information.
 - Refactors a few bits of code to eliminate unnecessary variables, etc.
2024-01-22 19:58:07 -06:00
a181321 f56595b89b ARTEMIS-4185 - Revision on sending already compressed messages 2024-01-22 17:23:56 -05:00
Pavel Perikov fbfe81eb4d ARTEMIS-4581 fix NPE crash in PostOfficeImpl 2024-01-22 17:06:00 -05:00
Howard Gao 6f6c5723d5 ARTEMIS-4576 ServerSessionImpl#updateProducerMetrics access large messages after being routed 2024-01-22 15:08:25 -05:00
Justin Bertram 3dd50f8ff1 ARTEMIS-3831 scale-down w/jgroups fails if using same dg as cluster-connection
If both scale-down and cluster-connection are using the same JGroups
discovery-group then when the cluster-connection stops it will close the
underlying org.jgroups.JChannel and when the scale-down process tries to
use it to find a server it will fail.

This commit ensures that the JGroupsBroadcastEndpoint implementation of
BroadcastEndpoint#openClient initializes the channel if it has been
closed.
2024-01-22 15:02:02 -05:00
Timothy Bish 54f5dae458 ARTEMIS-4575 Only start the consumers that were added
Change from forcing a session start cycle on each consumer add
event and start only those consumers that were added which will
trigger a prompt delivery action on each. The session should be
marked started on create to account for the remove of the start
on each consumer add event.
2024-01-22 09:15:31 -06:00
Justin Bertram a70c421493 ARTEMIS-4580 security settings for FQQN not enforced on send 2024-01-22 09:12:44 -06:00
Howard Gao 5e99516a27 NO-JIRA Fix PagingStoreImplTest#testBlockUnblock random failure
PagingStroeImpl.checkReleasedMemory() will kick off
executor.execute(this::memoryReleased) to pull from the queue onMemoryFreedRunnables
asynchronously. If the executor fires the task too late, it can pick up one of the
late trackMemoryChecks runnable and increase its calls, making assertion fail.
need to flush the executors to make sure it doesn't happen.
2024-01-22 09:11:51 -06:00
Emmanuel Hugonnet 2269ad417e ARTEMIS-4436 Artemis is logging warnings during clean shutdown of server
in cluster.

When we know that a node leaves a clustercleanly we shouldn't log WARN
messages about it.

Signed-off-by: Emmanuel Hugonnet <ehugonne@redhat.com>
2024-01-22 10:11:14 -05:00
Domenico Francesco Bruscino fe5afc1d69 ARTEMIS-4577 Send CONNECTION_CLOSED event after deleting temporary resources 2024-01-22 08:40:46 +01:00
Justin Bertram eb7d131a8b ARTEMIS-4567 support OpenWire clients for broker embedded in Jakarta environment
If the broker is embedded into a Jakarta environment then the existing
artemis-openwire-protocol module won't work because it uses javax
classes.

This commit adds a new Jakarta-specific module that can be used to
support OpenWire clients in Jakarta environments (e.g. Spring Boot 3).
Users will simply need to include this version on their classpath to
enable support.
2024-01-19 16:05:25 +00:00
Justin Bertram 0906369584 ARTEMIS-4578 upgrade Jackson to 2.16.1 2024-01-19 16:00:56 +00:00
Domenico Francesco Bruscino 2b331427d8 ARTEMIS-4552 Config all connection-router settings by using broker properties 2024-01-19 11:40:42 +00:00
Timothy Bish 4ea55cd611 ARTEMIS-4568 Configuration reload for AMQP federation broker connections
Allows the configuration of AMQP Federation broker connections to be updated and
reloaded. This allows for update, add or remove of AMQP federation broker connections
as well as the basic AMQP sender and receiver broker connections. It checks for and
ignores changes in AMQP broker connections that are performing Mirroring as that
would lead to issues that can break mirroring.
2024-01-18 17:13:41 +00:00
Justin Bertram fb2c76ad65 ARTEMIS-4572 upgrade to Apache parent 31 2024-01-18 16:55:51 +00:00
Justin Bertram d77090d38f
[NO-JIRA] clarify versions doc 2024-01-18 10:43:41 -06:00
Justin Bertram 19fd26c790 ARTEMIS-4573 upgrade Checkstyle to 10.12.7 & Sevntu to 1.44.1 2024-01-18 13:22:13 +00:00
Clebert Suconic 2760a3e911 ARTEMIS-4569 Improving order in which the list is added versus cancel call
I just did some static analysis of this code, and I believe it would be better to first add to the list
before setting the cancel task.

Reason for that is in case the Runnable is dequeued between the add in the deQueue and setting the cancel task.

Possibility is remote but my OCD wouldn't let me ignore this small possibility.
2024-01-17 22:54:58 -05:00
Erwin Dondorp 22a31fb254 ARTEMIS-4574 fix broker diagram 2024-01-17 21:25:38 -06:00
Justin Bertram 1197898232 ARTEMIS-4571 race condition w/TTL impacting in-vm connections
There is a race condition between ConnectionEntry.ttl and
FailureCheckAndFlushThread whereby an in-vm connection may get closed
inadvertently due to a TTL timeout. This is because ConnectionEntry.ttl
is initialized to 60000 and then later set to -1 upon the initial Ping.
If this update happens at *just* the right time in
FailureCheckAndFlushThread then the connection will be closed.

The fix ensures that the ConnectionEntry.ttl is set to -1 for in-vm
connections from the start. It also eliminates the possibility of the
race in FailureCheckAndFlushThread.

This fix is based on static analysis of the code. The timing window is
just too small to contruct a reliable test. The failure has only been
seen in the wild a handful of times.
2024-01-17 21:37:47 -05:00
Clebert Suconic 99348ee672 ARTEMIS-4569 Removing delegate usage and keep it as checkAtomic 2024-01-17 15:45:49 -05:00
Clebert Suconic cedc050e03 ARTEMIS-4569 Blocked Producers will hold runnables until messages are consumed.
When initially developed the expectation was that no more producers would keep connecting but in a scenario like this
the consumers could actually give up and things will just accumulate on the server.

We should cleanup these upon disconnect.
2024-01-17 15:40:15 -05:00
Clebert Suconic 1fef332bea ARTEMIS-4558 Improving test assertions on IdempotentMirrored Ack Test 2024-01-16 12:25:22 -05:00
Clebert Suconic bc7e4639e0 ARTEMIS-4558 Idempotent Mirrored ACKs
Mirror acks should be performed atomically with the storage of the source ACK. Both the send of the ack and the recording of the ack should be part of the same transaction (in case of transactional).

We are also adding support on transactions for an afterWired callback for the proper plug of OperationContext sync.
2024-01-15 19:13:49 -05:00