Commit Graph

58467 Commits

Author SHA1 Message Date
Arnaud Cogoluègnes c17d38ecdd
Require Java 11 in stream Java client projects
References rabbitmq/rabbitmq-stream-java-client#663
2024-11-27 09:55:38 +01:00
Michael Klishin e27be61ddc
Update rabbitmq_auth_mechanism_ssl docs
References #12822
2024-11-26 18:17:15 -05:00
Michael Klishin 5499d50559
Merge pull request #12822 from ecdaero/rabbitmq_auth_mechanism_ssl-readme-tweak
Update rabbitmq_auth_mechanism_ssl/README.md so openssl command is easier to change after pasting.
2024-11-26 18:06:22 -05:00
Michael Klishin 090d11818f
HTTP API tests for injected default queue type 2024-11-26 18:00:37 -05:00
ecdaero 90fae41d5a
Update README.md so openssl command is easier to copy-paste
This changes the line `openssl x509 -in path/to/cert.pem -nameopt RFC2253 -subject -noout` to put the `-in` parameter at the end of the line, so that it's easier to ^W the path and replace it with my own.

Tested that this works with OpenSSL 3.1.6 4 Jun 2024 (Library: OpenSSL 3.1.6 4 Jun 2024) and OpenSSL 3.3.0 9 Apr 2024 (Library: OpenSSL 3.3.0 9 Apr 2024) on an Ubuntu 22.04.4 container and MacOS 14.7.1
2024-11-26 14:18:17 -08:00
Michael Klishin 765f3d77ca
Adapt a rabbit_mgmt_http_SUITE test to account for DQT 2024-11-26 12:44:49 -05:00
Michael Klishin 9f608ca479
CONTRIBUTING.md: explain how to run a group of tests or a single CT test 2024-11-26 12:35:29 -05:00
Michael Klishin 51e6004840
Inject DQT into GET /api/definitions and /api/vhosts
References #12776
2024-11-26 02:04:30 -05:00
Michael Klishin dba6345ee9
Merge pull request #12809 from rabbitmq/mk-rabbitmq-server-12807
Peer discovery cleanup: be more defensive
2024-11-25 13:44:27 -05:00
Michael Klishin d3a3acee16
Refactor: as_list/1 belongs to rabbit_data_coercion 2024-11-25 12:33:33 -05:00
Michael Klishin 55411e6ea4
Peer discovery cleanup: be more defensive
See discussion #12807 for details.

rabbit_peer_discovery:normalize/1 can be
changed to only return lists of nodes but then
there is a number of core code paths that
treat a single node as a special "preselected"
value.

So let's keep that part and convert both
sets of nodes to lists before computing the
difference.
2024-11-25 12:28:34 -05:00
Jean-Sébastien Pédron 60b074a02b
Merge pull request #12801 from rabbitmq/make-peer-disc-nodes-querying-more-resiliant
rabbit_peer_discovery: Retry RPC calls
2024-11-25 16:38:41 +01:00
Jean-Sébastien Pédron f6314d06b3
rabbit_peer_discovery: Retry RPC calls
[Why]
In CI, we observe some timeouts in the Erlang distribution connections
between the temporary hidden node and the nodes it queries. This affects
peer discovery obviously.

[How]
We introduce some query retries to reduce the risk of an incomplete
query.

While here, we move the sorting of queried nodes from the
`query_node_props2/3` last clause (executed in the temporary hidden
node) to the function setting the temporary hidden node and asking for
these queries. This way the debug messages from that sorting are logged
by RabbitMQ out of the box.
2024-11-25 16:16:16 +01:00
Jean-Sébastien Pédron 4d4985f254
rabbit_peer_discovery: Fix non-tail-recursive `query_node_props2()`
[Why]
This impacts what is reported by the catch because it caught exceptions
emitted by code supposedly called later. An example is the assert
in `query_node_props2/3` last clause.
2024-11-25 16:16:15 +01:00
Jean-Sébastien Pédron 62f22a7655
rabbit_peer_discovery: Remove the use of group leader proxy
[Why]
This was the first solution put in place to prevent that the temporary
hidden node connects to the node that started it to write any printed
messages. Because of this, the nodes that the temporary hidden node
queried found out about the parent node and they opened an Erlang
distribution connection to it. This polluted the known nodes list.

However later, the temporary hidden node was started with the
`standard_io` connection option. This prevented the temporary hidden
node from knowing about the node that started it, solving the problem in
a cleaner way.

[How]
This commit garbage-collects that piece of code that is now useless. It
makes the query code way simpler to understand.
2024-11-25 16:16:12 +01:00
D Corbacho 1fa4fe2735
Merge pull request #12775 from rabbitmq/fix-flakes
Fixes for test flakes
2024-11-25 16:12:29 +01:00
Diana Parra Corbacho 4a925f9a8c Tests: system_SUITE return configuration from run steps 2024-11-25 14:49:54 +01:00
Marcial Rosales 106012d57f Add extra logging
To capture where the flake occurs
2024-11-25 14:46:09 +01:00
Marcial Rosales 751dd41eb2 Fix issue 2024-11-25 14:46:09 +01:00
Marcial Rosales 9b1e762081 Store the certsDir of the group which
initializes rabbitmq configuration
2024-11-25 14:46:09 +01:00
Diana Parra Corbacho ca0a450f3b Tests: SSL certificates
Parallel/sharding groups often fail to create certificates in CI.
Most likely it is related to the fact they use the same directory
for certificates. This commit uses shard/node name and unique id
for each SSL certificate
2024-11-25 14:46:05 +01:00
Jean-Sébastien Pédron ad2354b610
Merge pull request #12799 from rabbitmq/stop-vhos-reconciliation-if-rabbit-is-stopped
rabbit_vhosts: Don't reconcile vhosts if `rabbit` is stopped
2024-11-25 13:40:17 +01:00
Jean-Sébastien Pédron fe2061b13b
quorum_queue_member_reconciliation_SUITE: Improve `reset_nodes/2`
[How]
The function now accepts that the node to reset is already out of the
cluster. This avoids a mismatch exception for a situation that is ok.
2024-11-25 12:55:26 +01:00
Jean-Sébastien Pédron 03f9d36988
rabbit_vhosts: Don't reconcile vhosts if `rabbit` is stopped
[Why]
That timer was started during boot and continued regardless if `rabbit`
was running or stopped.

This caused the reconsiliation to crash if the `rabbit` app was stopped
before the it ended because it tried to access the database even though
it was stopped or even reset.

[How]
We just check if `rabbit` is running before running one reconciliation
and scheduling a new one.
2024-11-25 12:39:13 +01:00
Diana Parra Corbacho 73924ba08e Tests: amqp_client_SUITE delete all queues on end per testcase 2024-11-25 09:06:33 +01:00
Diana Parra Corbacho f39f5547e0 Tests: clustering_SUITE retry all GET queries 2024-11-25 09:06:33 +01:00
Diana Parra Corbacho a35f56fdc2 Tests: amqp_filtex_SUITE wait for link attachment and longer timeouts 2024-11-25 09:06:32 +01:00
Diana Parra Corbacho 7fe2b0414c Tests: auth_SUITE close all connections in end_per_testcase 2024-11-25 09:06:32 +01:00
Diana Parra Corbacho b8cf65a42b Tests: clustering_prop_SUITE retry whole cleanup 2024-11-25 09:06:32 +01:00
Diana Parra Corbacho aa28be0f27 tests: v5_SUITE wait longer to receive messages 2024-11-25 09:06:32 +01:00
Diana Parra Corbacho f295d73a40 tests: clustering_SUITE set small metrics gc interval 2024-11-25 09:06:32 +01:00
Diana Parra Corbacho 964247afcc Tests: mqtt_shared_SUITE skip check for previous connections
The test checks later based on clientId
2024-11-25 09:06:32 +01:00
Michael Klishin 66fd1793e7
Merge pull request #12797 from rabbitmq/mk-format-empty-cluster-and-node-tags
GET /api/overview: format cluster and node tag lists as maps
2024-11-24 20:32:15 -05:00
Michael Klishin 5c3ccc4608
GET /api/overview: format cluster and node tag lists as maps
Empty proplists will be serialized to JSON as arrays,
which they arguably are, and HTTP API clients
expect a regardless of collection size.

References #12552 #12699
2024-11-24 19:14:51 -05:00
Michael Klishin 9a864fc5fd
Merge pull request #12795 from rabbitmq/mk-drop-supported-series-key-from-overview
Drop release_series_support_status from GET /api/overview and 'rabbitmq-diagnostics status'
2024-11-24 19:06:19 -05:00
Michael Klishin 93fd1dcda1
Drop release_series_support_status from overview and status
This undocumented key used to use a simple date-based
formula and used to help support and the core
team.

Nodes no longer have the context to return
a correct response, so all we can do is drop this
key.
2024-11-24 17:56:57 -05:00
Michael Klishin 10508c0aa2
Merge pull request #12790 from rabbitmq/gazelle-main
bazel run gazelle
2024-11-23 02:41:21 -05:00
GitHub 4e8d0f3ac2 bazel run gazelle 2024-11-23 04:02:38 +00:00
Michael Klishin 9ac20d0109
Merge pull request #12785 from rabbitmq/osiris-v1.8.5
Update osiris to v1.8.5
2024-11-22 14:18:59 -05:00
Michael Davis d597732a05
Merge pull request #12723 from rabbitmq/md/khepri-path-preproc-macros 2024-11-22 11:11:45 -06:00
Michael Davis c3c7675bda
rabbit_khepri: Add macros for path patterns 2024-11-22 11:21:11 -05:00
Michael Davis e8fb9b6889
rabbit: Move include/{khepri.hrl => rabbit_khepri.hrl}
This fixes erlang_ls's header resolution. Previously it would confuse
the include_lib of the `khepri.hrl` from Khepri with this header in
the rabbit app.

This header is also specific to how rabbit uses Khepri so I think the
new name fits better.
2024-11-22 11:21:11 -05:00
Marcial Rosales e5bcf7f327
Remove extra delay in AMQP 1.0 selenium round trip test 2024-11-22 11:17:51 -05:00
Karl Nilsson 675007a20b Update osiris to v1.8.5
This release contains a bug fix to an issue that very occasionally
could cause consumers on replica nodes not to be notified about
newly committed offsets in a timely manner.
2024-11-22 14:05:56 +00:00
Michael Klishin 6e0f7d4e8a
Merge pull request #12780 from rabbitmq/gazelle-main
bazel run gazelle
2024-11-21 23:50:30 -05:00
GitHub cc95c8e75f bazel run gazelle 2024-11-22 04:02:48 +00:00
Michael Klishin 7946f6de0c
Two more cosmetic 4.0.4 release notes updates 2024-11-21 20:51:33 -05:00
Simon Unge 6cf211a1e1
Dependency thoas updated from 1.0.0 to 1.2.1
(cherry picked from commit 13bf5c005e)

Conflicts:
	rabbitmq-components.mk
(cherry picked from commit 679eaa1913)

Conflicts:
	rabbitmq-components.mk
2024-11-21 20:42:04 -05:00
Michael Klishin 3a5d057f5a
4.0.4 release notes: correct a link 2024-11-21 20:20:35 -05:00
Michael Klishin ff37ab2bee
Merge pull request #12749 from rabbitmq/improve-brwoser-cache-control
Management UI: serve all static assets with a control-cache header
2024-11-21 13:46:21 -05:00