Commit Graph

9358 Commits

Author SHA1 Message Date
Justin Bertram 2b5a25a106 ARTEMIS-3702 auth failures don't adhere to MQTT spec
The commit includes the following changes:
 - Don't drop the connection on subscribe or publish authorization
failures for 3.1 clients.
 - Don't drop the connection on subscribe authorization failures for
3.1.1 clients.
 - Add configuration parameter to control behavior on publish
authorization failures for 3.1.1 clients (either disconnect or not).
2022-03-15 15:33:54 -04:00
Domenico Francesco Bruscino f7915a2733 ARTEMIS-3715 Support testClientID for artemis-maven-plugin 2022-03-15 15:26:51 -04:00
Robbie Gemmell 82069e9c3c ARTEMIS-3724: Update Jetty to 9.4.45.v20220203 2022-03-15 14:37:29 -04:00
Robbie Gemmell c48aa9a68a ARTEMIS-3723: update to Netty 4.1.75 (and netty-tcnative 2.0.50) 2022-03-15 13:29:27 -04:00
Clebert Suconic 861fe59124 ARTEMIS-3721 AMQP Mirrored Large Message file not removed 2022-03-15 08:56:32 -04:00
Justin Bertram 1ed7cc1efc ARTEMIS-3719 DLA and expiry incorrect w/temp-queue-namespace
When using a temporary queue with a `temporary-queue-namespace` the
`AddressSettings` lookup wasn't correct. This commit fixes that and
refactors `QueueImpl` a bit so that it holds a copy of its
`AddressSettings` rather than looking them up all the time. If any
relevant `AddressSettings` changes the
`HierarchicalRepositoryChangeListener` implementation will still
refresh the `QueueImpl` appropriately.

The `QueueControlImpl` was likewise changed to get the dead-letter
address and expiry address directly from the `QueueImpl` rather than
looking them up in the `AddressSettings` repository.

I modified some code that came from ARTEMIS-734, but I ran the test that
was associated with that Jira (i.e.
`o.a.a.a.t.i.c.d.ExpireWhileLoadBalanceTest`) and it passed so I think
that should be fine. There actually was no test included with the
original commit. One was added later so it's hard to say for sure it
exactly captures the original issue.
2022-03-14 15:26:20 -04:00
Robbie Gemmell 36dcb30cda ARTEMIS-3591: stop paging checkMemory task executing twice 2022-03-14 15:26:01 -04:00
Justin Bertram 913a87c948
This closes #3977 2022-03-09 13:46:32 -06:00
pringinacio 223698448e
ARTEMIS-3714 change Docker group and user IDs to 1001
Changed group and user ids to 1001 to allow Artemis user to be the own
of /var/lib/artemis-instance and /opt/activemq-artemis. Otherwise the
owner will be root (1000).

This was already done in Dockerfile-centos file.
2022-03-09 13:46:13 -06:00
Justin Bertram 1cacedd0cf
This closes #3981 2022-03-09 11:19:08 -06:00
Justin Bertram 67c9df195d
ARTEMIS-3712 refresh doc generation tool-chain 2022-03-09 09:14:24 -06:00
Justin Bertram f6372d8443
ARTEMIS-3698 fix test
When copying message properties from the core message to the OpenWire
message we intentially omit any properties starting with `_AMQ` and
`__HDR_`. However, we were effectively negating that logic because we
copied the marshalled properties directly to the message without any
filtering. Now that we no longer copy the marshalled properties directly
to the message the test breaks because it expects properties starting
with `__HDR_`. This commit fixes the test by removing those
expectations. The test is still valid because the message is still
receieved rather than being swallowed due to an exception (which was the
original problem).
2022-03-04 12:08:35 -06:00
Clebert Suconic e949e3843b ARTEMIS-3701 Do no block libaio on compacting or closing
I am adding a test showing it is safe to not wait pending callbacks before closing a file.
With this I can just close the file and let the kernel to deal with sending the completions.
2022-03-04 10:43:06 -05:00
Robbie Gemmell e0ca92d783 This closes #3969 2022-03-04 13:54:12 +00:00
Justin Bertram c376503f35 ARTEMIS-3699 expose actual port on NettyAcceptor
It sometimes makes sense to set an acceptor's port to 0 to allow the JVM
to select an ephemeral port (e.g. in embedded integration tests). This
commit adds a new getter on NettyAcceptor so tests can programmtically
determine the actual port used by the acceptor.

This commit also changes the ACCEPTOR_STARTED notification and the
related logging to clarify the actual port value where clients can
connect.
2022-03-04 13:53:06 +00:00
Robbie Gemmell dcbd4b059a ARTEMIS-3695: use specific jetty deps instead of uber jar, rationalise servlet api deps
Partially reverts c5f94f340d
2022-03-03 21:59:13 -05:00
nbrendah 7bee0d8923 ARTEMIS-3686: Adding example showing how to do telemetry support
This is adding an example intercepting and sending messages using opentelemetry to either Jaeger, zipkin or OTLP exporter
2022-03-03 11:08:53 -05:00
franz1981 7effa488c2 This closes #3974 2022-03-03 16:49:57 +01:00
franz1981 a51916447e ARTEMIS-3522 Improve next fire time computation using double period 2022-03-03 16:46:28 +01:00
franz1981 d744668270 This closes #3857 2022-03-02 13:32:43 +01:00
franz1981 f8b045bd2d ARTEMIS-3522 Implement performance tool for RUL benchmarks
Co-authored-by: gtully
2022-03-02 13:32:42 +01:00
Clebert Suconic cf49bfaa2b NO-JIRA Improving assertion on MessageExpiredPagingTest 2022-03-01 12:27:01 -05:00
Clebert Suconic 60ce5f9cf1 NO-JIRA Improving expiry test with an executor 2022-03-01 11:59:05 -05:00
gtully dcaebfb24e ARTEMIS-3660 - rename broker-balancer to connection-router 2022-03-01 11:15:16 +01:00
Domenico Francesco Bruscino 6438d6a7a8 ARTEMIS-3697 Skipping testInabilityToCreateDirectoryDuringPaging for db 2022-03-01 07:03:41 +01:00
Justin Bertram 13469ae2b9
This closes #3970 2022-02-28 20:43:06 -06:00
Domenico Francesco Bruscino 2398e5a16c
ARTEMIS-3685 Fix BridgeTransformer resolver 2022-02-28 20:43:06 -06:00
Clebert Suconic dbeda809e3 NO-JIRA Fixing test assertion 2022-02-28 21:29:51 -05:00
Domenico Francesco Bruscino 263351b331 ARTEMIS-3685 Fix BridgeImpl init 2022-02-28 13:45:20 -05:00
Justin Bertram c4ebccd94d ARTEMIS-3696 avoid null prop values on STOMP msgs 2022-02-28 13:44:45 -05:00
Justin Bertram 2d16ec3305
ARTEMIS-3685 fix a couple more issues 2022-02-28 10:12:05 -06:00
Justin Bertram b5c25e871c
ARTEMIS-3685 fix a couple of issues 2022-02-28 09:55:08 -06:00
Justin Bertram 40acb18f4e ARTEMIS-3698 avoid byte[] prop values when converting from OpenWire
Avoid storing the following values as byte[] for OpenWire:
 - Marshalled properties. We already store the unmarshalled properties
   so this is altogether redundant.
 - Producer ID.
 - Message ID.
 - Various destination values.

Also, eliminate the "original transaction ID" conversion code as it's
never actually set from the incoming message.
2022-02-28 08:41:36 -05:00
Justin Bertram e74eeb8268
This closes #3962 2022-02-27 19:57:14 -06:00
Domenico Francesco Bruscino dd4328b654
ARTEMIS-3691 Build the CLI connector from a broker acceptor 2022-02-27 19:57:14 -06:00
Justin Bertram d93d71bb54
This closes #3964 2022-02-27 19:17:03 -06:00
Kerner, Dr. Patrick 72573d5ab0
ARTEMIS-3690 add missing getters/setters to RA ConnectionFactory 2022-02-27 19:02:17 -06:00
Justin Bertram 82e82cf323
This closes #3957 2022-02-26 15:16:04 -06:00
Justin Bertram bc65438344
ARTEMIS-3687 bridges with concurrency > 1 can leak 2022-02-26 15:16:04 -06:00
Justin Bertram c51fda09cd
ARTEMIS-3685 support reloading bridges 2022-02-26 15:16:04 -06:00
Justin Bertram d5b6bfb0cd
This closes #3930 2022-02-26 15:14:33 -06:00
Justin Bertram 2dc76bd9f4
ARTEMIS-3657 refactor address docs
Mainly refactoring the address docs. This commit has the following
changes:

 - Remove examples for discouraged use-cases (e.g. using anycast and
multicast on the same address).
 - Reword to use configuration terms wherever possible. For example,
instead of saying "point-to-point" (which is not a configuration term)
say "anycast". References to things like "point-to-point" and
"publish-subscribe" are still there since users are familiar with these
terms. They're just used much less often.
 - Remove duplicate explanation of exclusive queues.
 - Remove duplicate explanation of auto-create and auto-delete elements.
 - Re-create graphics and include the master SVGs for potential updates
later.
 - Give non-destructive queues its own chapter.
 - Add details about specifying routing type using a message property.
 - Update the styling on the user manual's cover page to look better.
 - Lots of re-wording for clarity's sake.
 - Re-order sub-sections for clarity's sake.
 - Break up the address model and the settings documentation. The
settings documentation is large and deserves its own chapter. The
original anchor link is still available with a link to the new chapter.

In general the address-specific documentation should be much more clear,
concise, and consistent now.
2022-02-26 15:14:32 -06:00
Clebert Suconic 293b96aa45 ARTEMIS-3697 Adding test assertion on invalid IO on Paging
This commit is part of a bigger task where I am improving paging.
This test is needed to validate some of the changes I am making on further commits.
2022-02-25 14:34:44 -05:00
Domenico Francesco Bruscino b0f131f080 ARTEMIS-3694 Support remote servers for console smoke tests 2022-02-23 20:39:11 +01:00
franz1981 101c0d2cd0 ARTEMIS-3679 Brokers shutdown after daylight saving fall back 2022-02-23 06:53:49 +01:00
Justin Bertram 3be4dd6aeb
NO-JIRA clarify LVQ docs on clustering 2022-02-21 14:59:56 -06:00
Justin Bertram 178b6ce77f
This closes #3913 2022-02-17 15:24:05 -06:00
Erwin Dondorp 754c569d08
ARTEMIS-3186 enable create-queue more often
* provide proper default when creating queues on anycast/multicast level
* allow queue creation on 3 levels (not 1)
* reformatted the shouldShow functions for readability
* force conscious decision on the routing type when creating address or queue
* do not need workspace as a parameter (4 out of 7 functions were already like that)
2022-02-17 15:24:05 -06:00
Justin Bertram 27f09810b8
This closes #3923 2022-02-17 15:23:10 -06:00
Erwin Dondorp c9d427a112
ARTEMIS-3653 broker diagram improvements
* only show the checkboxes that have any influence on the diagram
* add additional brokers that are known but are not part of the cluster (at this moment)
* made construction of master-slave pair slightly more readable
* simplified construction of dummy broker icon
* show properties of current broker with the correct node of the diagram
* use the new styling for the current broker icon
* show the broker name instead of "broker"
* replace style ThisBroker with ThisMasterBroker+ThisSlaveBroker
* do not show quotes around address- and queue-names
* show the broker name without port number when the port number is the default one
* properly document the icon choices
2022-02-17 15:23:09 -06:00