Commit Graph

9281 Commits

Author SHA1 Message Date
Justin Bertram 96fa98fc93 ARTEMIS-3789 respect session expiry interval on MQTT disconnect message 2022-04-21 15:33:56 -04:00
Clebert Suconic d1e1faacc4 ARTEMIS-3791 Openwire failover leaving sessions leaked 2022-04-21 14:43:09 -04:00
Clebert Suconic 857f9f1db8 ARTEMIS-3765 Fixing testsuite
we cannot really change the attribute's name as it may break user's applications.
I am adding the previous property here.
2022-04-20 21:20:11 -04:00
Gary Tully f9f70aeb4c ARTEMIS-3786 - ensure named properties config from routerConfiguration can be created from string property value 2022-04-20 12:26:12 -04:00
AntonRoskvist 32c5f9d268 ARTEMIS-3780 - OpenWire, UTF8Buffer to String before setting properties to avoid exception 2022-04-20 12:22:32 -04:00
Justin Bertram c5f45ee44d ARTEMIS-3781 send PUBREC on duplicate PUBLISH for MQTT QoS 2
The MQTT 5 (and 3.1.1) specification states:

    Until it has received the corresponding PUBREL packet, the receiver
MUST acknowledge any subsequent PUBLISH packet with the same Packet
Identifier by sending a PUBREC. It MUST NOT cause duplicate messages to
be delivered to any onward recipients in this case [MQTT-4.3.3-10].

The broker prevents a duplicate message, but it doesn't respond with a
PUBREC. This commit fixes that.
2022-04-20 12:01:47 -04:00
Justin Bertram b5539b9da4 NO-JIRA Fix MQTT trace logging NPE 2022-04-20 12:01:47 -04:00
Robbie Gemmell 6eb78a2634 ARTEMIS-3783: rationalise config for alternate jakarta spec versions to simplify and align their use 2022-04-20 10:57:32 +01:00
Robbie Gemmell e97e239771 ARTEMIS-3782: use existing managed version for maven-shade-plugin uses 2022-04-20 10:33:57 +01:00
Justin Bertram 6135d6bbe9
This closes #4019 2022-04-19 09:49:31 -05:00
aaron.hoffer d0574b39af
ARTEMIS-3765 Display validated user in Hawtio
This PR adds a "Validated User" column to the Hawtio plugin. The column is
not visible by default. The "Validated User" column is available in the
Session, Consumer, and Producer tabs of the artemis-navigation notebook.
"Validated User" is also available for sort and filtering in those view.
The "Validated Consumer" in the Producer view is always blank. I debugged
as far as I could, but did not find the cause of the issue.
2022-04-19 09:49:31 -05:00
Justin Bertram 40a191379b ARTEMIS-3775 don't carry forward MQTT topic aliases to new connection 2022-04-18 21:10:49 -04:00
Justin Bertram 7d11cf81ba ARTEMIS-3777 fix MQTT request/response + nolocal
Removing the connection ID property from the actual *message* breaks the
nolocal functionality. Removing the property isn't necessary in the
first place so this commit reomves that code.
2022-04-18 18:26:05 -04:00
Justin Bertram 1e1397935a NO-JIRA improve MQTT trace logging 2022-04-18 18:26:05 -04:00
Clebert Suconic 6d418a19f4 This closes #4030 2022-04-18 15:11:47 -04:00
iliya 20370d2920 ARTEMIS-3751 Do not override large message size
It is possible to receive a compressed message from the client as regular message. Such a message will already contain correct body size, that takes compression into account.
2022-04-18 15:01:44 -04:00
Clebert Suconic da5d5e504f ARTEMIS-3779 Critial IO Exception logged as Error 2022-04-14 18:04:06 -04:00
Clebert Suconic d0036ee0cc ARTEMIS-3778 Just avoiding NPE on Expiry Reaper
Added an extra check on null, just in case
it should not happen, but I preferred adding this clause on the safe side
2022-04-14 17:13:35 -04:00
Clebert Suconic f4bdacbc4c ARTEMIS-3778 Streamline Expiration Reaping
Instead of holding a thread and an iterator, we should instead keep moving to next references
without holding any threads. Just with callbacks.
2022-04-14 13:04:51 -04:00
Clebert Suconic ccfd4b7a62 ARTEMIS-3776 just my OCD applying aesthetic tweaks to recediveOW.groovy 2022-04-13 12:39:31 -04:00
Clebert Suconic bc17acd6da ARTEMIS-3776 Avoid Integer.MAX_VALUE overflow on openwire clients
Older versions of Openwire clients wil be affected by AMQ-6431.
As a result of the issue if the ID of the message>Integer.MAX_VALUE
a consumer configured with Failover and doing duplicate detection on the client
will not be able to process duplicate detection accordingly and miss messages.
2022-04-13 11:11:10 -04:00
Justin Bertram 316fe8a350 ARTEMIS-3773 remove defunct rate references from web console
This is a follow-up from ARTEMIS-3397. This commit removes the last
traces of the "rate" queue metric from the web console.
2022-04-13 10:26:28 -04:00
Justin Bertram a6abf68ba5 ARTEMIS-3774 support user properties on MQTT will message 2022-04-13 10:25:57 -04:00
Robbie Gemmell 9d943483d5 ARTEMIS-3772: update to mockito 4.4.0 2022-04-08 13:38:41 +01:00
Clebert Suconic cfdb710a08 ARTEMIS-3761 Improve page cleanup to remove messages in the middle of the stream as well
Paging only removes files at the beginning of the stream...
Say you have paged files 1 through 1000...
if all the messages are ack, but one message on file 1 is missing an ack, all the 999 subsequent files would not be removed until all the messages on file 1 is ack.
This was working as engineered, but sometimes devs don't have complete control on their app.
With this improvement we will now remove messages in the middle of the stream as well.

There is also some improvement to how browsing and page work with this
2022-04-07 10:33:08 -04:00
Clebert Suconic 1da68b3024 ARTEMIS-3769 Fixing queue browsing iterator avoiding NoSuchElement exception from the Iteration
QueueImpl::browserIterator could throw NoSuchElementException and this is fixing the iterator
Found this while testing ARTEMIS-3761
2022-04-07 10:33:08 -04:00
Clebert Suconic bad1c26582 NO-JIRA Making AmqpFlowControlFailTest more accurate
this test was relying on internal details such as number of credits on the link.
The test was flaky and eventually failing or hunging.
2022-04-07 10:33:08 -04:00
Robbie Gemmell e774e4fcfb ARTEMIS-3768: update to Qpid JMS 1.6.0 2022-04-07 13:05:15 +01:00
Robbie Gemmell 6da678177a ARTEMIS-3758: clean up lots of tests that never run, remove related files + dependencies and some unnecessary deps 2022-04-07 11:29:52 +01:00
Robbie Gemmell 94aa67bd81 ARTEMIS-3762: update docs build, add version overrides to clear security warnings 2022-04-07 11:18:29 +01:00
Robbie Gemmell fc3a17c33e This closes #4014 2022-04-07 11:01:06 +01:00
Domenico Francesco Bruscino 6f4fc12d24 ARTEMIS-3760 Upgrade jackson version to 2.13.2 2022-04-07 11:00:21 +01:00
Justin Bertram b48037a1e6 ARTEMIS-3764 wrong CONNACK return code for MQTT5
This bug is causing tests in o.a.a.a.t.i.m.s.c.ConnectTestsWithSecurity
to fail.

This commit fixes the problem by setting the session's version earlier
in the logic handling the CONNECT packet so that the proper CONNACK
return code can be supplied to the remote client in case of
authentication failure.
2022-04-06 17:02:19 -04:00
Gary Tully 825264257a ensure temp files are off the base class temp folder rule root to get cleaned up post test 2022-04-06 12:04:25 +02:00
Gary Tully a739b9f068 ARTEMIS-3757 - allow system and env var substution of properties config, respect order of file loaded properties and add generic enum converter 2022-04-06 12:04:25 +02:00
Domenico Francesco Bruscino 4ff5d95b2c ARTEMIS-3752 Upgrade Spring Framework to 5.3.18 for examples and tests 2022-04-04 10:59:14 +02:00
Domenico Francesco Bruscino ed4f80638a ARTEMIS-3752 Upgrade Spring Framework to 5.3.18 2022-04-01 12:19:02 -04:00
Domenico Francesco Bruscino d7fbe852db ARTEMIS-3754 Upgrade tomcat-servlet-api to 8.5.78 2022-04-01 12:18:52 -04:00
Justin Bertram 723f977e94
This closes #3997 2022-03-30 11:57:50 -05:00
Justin Bertram dce7ff2ef7
ARTEMIS-3744 NPE with empty security-manager config in bootstrap.xml 2022-03-30 11:57:50 -05:00
Justin Bertram c3e6ce075c
This closes #3996 2022-03-30 11:57:28 -05:00
Justin Bertram 5d970576da
ARTEMIS-3741 Cache MBeanInfoHelper results
The utility methods in
`org.apache.activemq.artemis.core.management.impl.MBeanInfoHelper` are
executed *a lot* - especially for Jolokia which is used by the web
console. The `MBeanOperationInfo` and `MBeanAttributeInfo` results are
static and reflection is slow therefore they should not be calculated
over and over again. Rather they should be calculated once and cached
for later use.

Caching these results significantly improves performance. Over the
course of 1,000,000 invocations the difference is several orders of
magnitude. This improves usability substantially when dealing with,
for example, tens of thousands of addresses and/or queues.
2022-03-30 11:57:28 -05:00
Justin Bertram 3ec88c5ea4
ARTEMIS-3740 Upgrade Johnzon 2022-03-30 11:57:27 -05:00
Justin Bertram abfabfce57
This closes #4002 2022-03-30 11:56:47 -05:00
Vilius Šumskas d42d654874
NO-JIRA addUser is also applicable for ActiveMQBasicSerurityManager 2022-03-30 11:56:46 -05:00
Justin Bertram dfb987844e
This closes #3998 2022-03-30 11:15:26 -05:00
AntonRoskvist bb44e37e84
ARTEMIS-3733 - Destination cache size too small for OpenWire clients 2022-03-30 11:15:25 -05:00
Tiago Bueno 84c1feae8c NO-JIRA fix duplicate text in security.md doc
Remove the duplicate text in CertificateLoginModule section of the
the security.md doc
2022-03-30 11:48:30 -04:00
Tiago Bueno dbd60d0afb ARTEMIS-3749 e2e-tests improvements
Scripts:
- Fix the preapre-docker.sh to exit with 0 instead of 1 on success

On pom files:
- Change e2e-tests variable names to e2e-tests.xxxxxx for clarity on
  e2e-tests variables
- Add e2e-tests.skipImageBuild variable to control if the docker image
  will be build (defaults to not build)
- Add e2e-tests.dockerfile variable to specify the dockerfile to be
  used (defaults to Dockerfile-centos)
- Bump testcontainers version to 1.16.3
- Add artemis distribution dependency since the docker image build
  depends on it

On ContainerService class:
- Fix exposePorts and exporseFolder to use SELinux shared mode
  otherwise the mount fails on machines with SELinux enabled
- Move the logic to use specific user on container from generic start
  method to broker specific method to avoid affect other images
- Update the broker image name to a more generic name (activemq-artemis
  instead of artemis-centos)
- Update the broker image tag to match with the project version in pom
  file
2022-03-30 11:48:05 -04:00
Justin Bertram 7d03f714dd
Fix typo 2022-03-29 15:19:43 -05:00