Commit Graph

59147 Commits

Author SHA1 Message Date
Michael Klishin b8045432f5
Merge pull request #13870 from rabbitmq/mergify/bp/v4.1.x/pr-13856
Trigger a 4.1.x alpha release build / trigger_alpha_build (push) Waiting to run Details
Test (make) / Build and Xref (1.17, 26) (push) Waiting to run Details
Test (make) / Build and Xref (1.17, 27) (push) Waiting to run Details
Test (make) / Test (1.17, 27, khepri) (push) Waiting to run Details
Test (make) / Test (1.17, 27, mnesia) (push) Waiting to run Details
Test (make) / Test mixed clusters (1.17, 27, khepri) (push) Waiting to run Details
Test (make) / Test mixed clusters (1.17, 27, mnesia) (push) Waiting to run Details
Test (make) / Type check (1.17, 27) (push) Waiting to run Details
Make empty CQ init faster in case of clean shutdown (backport #13856)
2025-05-09 02:08:22 +04:00
Michael Klishin cabe85ae0e
Merge pull request #13875 from rabbitmq/mergify/bp/v4.1.x/pr-13868
Trigger a 4.1.x alpha release build / trigger_alpha_build (push) Waiting to run Details
Test (make) / Build and Xref (1.17, 26) (push) Waiting to run Details
Test (make) / Build and Xref (1.17, 27) (push) Waiting to run Details
Test (make) / Test (1.17, 27, khepri) (push) Waiting to run Details
Test (make) / Test (1.17, 27, mnesia) (push) Waiting to run Details
Test (make) / Test mixed clusters (1.17, 27, khepri) (push) Waiting to run Details
Test (make) / Test mixed clusters (1.17, 27, mnesia) (push) Waiting to run Details
Test (make) / Type check (1.17, 27) (push) Waiting to run Details
Test Management UI with Selenium / selenium (chrome, 1.17.3, 27.3) (push) Waiting to run Details
Fix selenium issues when running two rabbitmq (backport #13868)
2025-05-08 22:41:14 +04:00
Michael Davis 6b71f776f4
Merge pull request #13876 from rabbitmq/mergify/bp/v4.1.x/pr-13872 2025-05-08 14:33:59 -04:00
Michael Davis 56cf8a094f Add an 'is-in-service' health check wrapping `rabbit:is_serving/0`
This is useful for a load balancer, for example, to be able to avoid
sending new connections to a node which is running and has listeners
bound to TCP ports but is being drained for maintenance.

(cherry picked from commit 07fe6307c6)
2025-05-08 17:45:55 +00:00
Marcial Rosales c306fd9e60 Exclude other_rabbitmq when running start-others. And fix some issues
(cherry picked from commit 81cf5f2e46)
2025-05-08 17:45:46 +00:00
Michael Klishin 7fa8fd9ee8
Merge pull request #13874 from rabbitmq/mergify/bp/v4.1.x/pr-13871
Allow multiple protocols in protocol listener health check (backport #13871)
2025-05-08 21:45:43 +04:00
Michael Davis abaa69751f Accept multiple protocols in protocol listener health check
This updates the health check for protocol listeners to accept a set of
protocols, comma-separated. The check only returns 200 OK when all
requested protocols have active listeners.

(cherry picked from commit 5d319be3f9)
2025-05-08 16:22:54 +00:00
Michael Davis 7d94c498ff Prefer node-local listeners helper in protocol-listener health check
This is a minor change that avoids a cluster-wide query for active
listeners. The old code called `rabbit_networking:active_listeners/0`
and then filtered the results by ones available on the local node. This
caused an RPC and concatenation of all other cluster members' listeners
and then in the next line filtered down to local nodes. Equivalently we
can use `rabbit_networking:node_listeners(node())` which dumps a local
ETS table.

This is not a very impactful change but it's nice to keep the latency of
the health-check handlers low and reduce some unnecessary cluster noise.

(cherry picked from commit 0d692fa161)
2025-05-08 16:22:54 +00:00
Péter Gömöri e6cbf50081 Make empty CQ init faster in case of clean shutdown
At CQ startup variable_queue went through each seqid from 0 to
next_seq_id looking for the first message even if there were no
messages in the queue (no segment files).

In case of a clean shutdown the value next_seq_id is stored in
recovery terms. This value can be utilized by the queue index to
provide better seqid bounds in absence of segment files.

Before this patch starting an empty classic queue with next_seq_id =
100_000_000 used to take about 26 seconds. With this patch it takes
less than 1ms.

(cherry picked from commit 150172f008)
2025-05-08 14:25:07 +00:00
Michael Klishin f806766513
Merge pull request #13867 from rabbitmq/mergify/bp/v4.1.x/pr-13861
Trigger a 4.1.x alpha release build / trigger_alpha_build (push) Waiting to run Details
Test (make) / Build and Xref (1.17, 26) (push) Waiting to run Details
Test (make) / Build and Xref (1.17, 27) (push) Waiting to run Details
Test (make) / Test (1.17, 27, khepri) (push) Waiting to run Details
Test (make) / Test (1.17, 27, mnesia) (push) Waiting to run Details
Test (make) / Test mixed clusters (1.17, 27, khepri) (push) Waiting to run Details
Test (make) / Test mixed clusters (1.17, 27, mnesia) (push) Waiting to run Details
Test (make) / Type check (1.17, 27) (push) Waiting to run Details
Move `file_handle_cache` and `vm_memory_monitor` back to `rabbit` (backport #13861)
2025-05-07 23:43:06 +04:00
Jean-Sébastien Pédron bf01548a25 Move `file_handle_cache` and `vm_memory_monitor` back to `rabbit`
[Why]
They were moved from `rabbit` to `rabbit_common` several years ago to
solve an dependency issue because `amqp_client` depended on the file
handle cache. This is not the case anymore.

[How]
The modules are moved back to `rabbit`.

`rabbit_common` doesn't need to depend on `os_mon` anymore. `rabbit`
already depends on it, so no changes needed here.

`include/rabbit_memory.hrl` and some test cases are moved as well to
follow the `vm_memory_monitor` module.

(cherry picked from commit e58eb1807a)
2025-05-07 18:00:18 +00:00
Michael Klishin 6c4677e1b5
Merge pull request #13866 from rabbitmq/mergify/bp/v4.1.x/pr-13848
Test Management UI with Selenium / selenium (chrome, 1.17.3, 27.3) (push) Waiting to run Details
Add several functions to mgt-api.js for wsr testing with selenium (backport #13848)
2025-05-07 21:54:02 +04:00
Marcial Rosales 5b2d021f15 Add functions to mgt-api for selenium
(cherry picked from commit ea0dd8beb8)
2025-05-07 16:00:11 +00:00
Michael Klishin 41e5426703
Merge pull request #13862 from rabbitmq/mergify/bp/v4.1.x/pr-13857
Trigger a 4.1.x alpha release build / trigger_alpha_build (push) Waiting to run Details
Test (make) / Build and Xref (1.17, 26) (push) Waiting to run Details
Test (make) / Build and Xref (1.17, 27) (push) Waiting to run Details
Test (make) / Test (1.17, 27, khepri) (push) Waiting to run Details
Test (make) / Test (1.17, 27, mnesia) (push) Waiting to run Details
Test (make) / Test mixed clusters (1.17, 27, khepri) (push) Waiting to run Details
Test (make) / Test mixed clusters (1.17, 27, mnesia) (push) Waiting to run Details
Test (make) / Type check (1.17, 27) (push) Waiting to run Details
Fix partition index conflict in stream SAC coordinator (backport #13857)
2025-05-07 09:01:54 +04:00
Arnaud Cogoluègnes bcf1a5b69c Fix partition index conflict in stream SAC coordinator
Consumers with a same name, consuming from the same stream should have
the same partition index. This commit adds a check to enforce this rule
and make the subscription fail if it does not comply.

Fixes #13835

(cherry picked from commit cad8b70ee8)
2025-05-06 15:17:23 +00:00
Michael Klishin 0aeca40416
Merge pull request #13860 from rabbitmq/mergify/bp/v4.1.x/pr-13858
Test (make) / Build and Xref (1.17, 26) (push) Waiting to run Details
Test (make) / Build and Xref (1.17, 27) (push) Waiting to run Details
Test (make) / Test (1.17, 27, khepri) (push) Waiting to run Details
Test (make) / Test (1.17, 27, mnesia) (push) Waiting to run Details
Test (make) / Test mixed clusters (1.17, 27, khepri) (push) Waiting to run Details
Test (make) / Test mixed clusters (1.17, 27, mnesia) (push) Waiting to run Details
Test (make) / Type check (1.17, 27) (push) Waiting to run Details
STOMP: confirm utf-8 handling (backport #13858)
2025-05-06 18:53:14 +04:00
Iliia Khaprov 0d284b0ec2 STOMP: confirm utf-8 handling
(cherry picked from commit 0ec25997b6)
2025-05-06 14:15:00 +00:00
Michael Klishin 1b7d66808a
Merge pull request #13855 from rabbitmq/mergify/bp/v4.1.x/pr-13850
Test (make) / Build and Xref (1.17, 26) (push) Waiting to run Details
Test (make) / Build and Xref (1.17, 27) (push) Waiting to run Details
Test (make) / Test (1.17, 27, khepri) (push) Waiting to run Details
Test (make) / Test (1.17, 27, mnesia) (push) Waiting to run Details
Test (make) / Test mixed clusters (1.17, 27, khepri) (push) Waiting to run Details
Test (make) / Test mixed clusters (1.17, 27, mnesia) (push) Waiting to run Details
Test (make) / Type check (1.17, 27) (push) Waiting to run Details
Trigger a 4.1.x alpha release build / trigger_alpha_build (push) Has been cancelled Details
Test Management UI with Selenium / selenium (chrome, 1.17.3, 27.3) (push) Has been cancelled Details
STOMP: queue type tests - add queue.type assertions (backport #13850)
2025-05-05 23:36:26 +04:00
Michael Klishin e569855eee
Merge pull request #13854 from rabbitmq/mergify/bp/v4.1.x/pr-13837
Modify default queue type injection logic (backport #13837)
2025-05-05 22:49:34 +04:00
Iliia Khaprov 24e873db0c STOMP: queue type tests - add queue.type assertions
(cherry picked from commit a91371dfe6)
2025-05-05 17:33:16 +00:00
Michael Klishin 963e2c670a
Merge pull request #13852 from rabbitmq/mergify/bp/v4.1.x/pr-13836
Trigger a 4.1.x alpha release build / trigger_alpha_build (push) Waiting to run Details
Test (make) / Build and Xref (1.17, 26) (push) Waiting to run Details
Test (make) / Build and Xref (1.17, 27) (push) Waiting to run Details
Test (make) / Test (1.17, 27, khepri) (push) Waiting to run Details
Test (make) / Test (1.17, 27, mnesia) (push) Waiting to run Details
Test (make) / Test mixed clusters (1.17, 27, khepri) (push) Waiting to run Details
Test (make) / Test mixed clusters (1.17, 27, mnesia) (push) Waiting to run Details
Test (make) / Type check (1.17, 27) (push) Waiting to run Details
Management UI: new page and elements for superstreams (partitioned streams) (backport #13836)
2025-05-05 21:28:25 +04:00
Michal Kuratczyk 6549254b45 Add a test for DQT upon vhost creation
(cherry picked from commit f61b9d9bf4)
2025-05-05 17:21:13 +00:00
Michal Kuratczyk 01433f4017 Set the DQT in rabbit_vhost:do_add
(cherry picked from commit 9bd11b449f)
2025-05-05 17:21:13 +00:00
Michal Kuratczyk d072f43dcb Add DQT to vhost metadata on recovery
Vhosts that currently don't have their own default queue type, now
inherit it from the node configuration and store it in their metadata
going forward.

(cherry picked from commit 9d0f01b45b)
2025-05-05 17:21:12 +00:00
Michal Kuratczyk bededaa194 Adjust tests to the new behaviour
(cherry picked from commit 0e743b5fe7)
2025-05-05 17:21:12 +00:00
Michal Kuratczyk 4932d2e1d9 vhost inherits DQT from node
Rather than injecting node-level DQT when exporting definitions,
inject it into vhost's metadata when a vhost is created.

(cherry picked from commit 3c95bf32e7)
2025-05-05 17:21:12 +00:00
Michal Kuratczyk 09b31f6e4c Remove vhost.default_queue_type from HTTP defs export
(cherry picked from commit 5eb65f5f72)
2025-05-05 17:21:12 +00:00
Michal Kuratczyk f8f0046fff Fix DQT in definition export (redundant property)
The correct place for the `default_queue_type` property
is inside the `metadata` block. However, right now we'd
always export the value outside of `metadata` AND only
export it inside `metadata`, if it was not `undefined`.

This value outside of `metadata` was just misleading:
if a user exported the definitins from a fresh node,
changed `classic` to `quorum` and imported such modified
values, the DQT would still be `classic`, because RMQ looks
for the value inside `metadata`. Just to make it more confusing,
if the DQT was changed successfully one way or another, the
value outside of `metadata` would reflect that
(it always shows the correct value, but is ignored on import).

(cherry picked from commit 73da2a3fbb)
2025-05-05 17:21:11 +00:00
Diana Parra Corbacho fac2a318c1 Mgmt UI: Add super streams page
(cherry picked from commit ef09b190ce)
2025-05-05 16:35:02 +00:00
Michael Klishin 4703c1c3b6
Merge pull request #13847 from rabbitmq/mergify/bp/v4.1.x/pr-13843
Trigger a 4.1.x alpha release build / trigger_alpha_build (push) Has been cancelled Details
Test (make) / Build and Xref (1.17, 26) (push) Has been cancelled Details
Test (make) / Build and Xref (1.17, 27) (push) Has been cancelled Details
Test (make) / Test (1.17, 27, khepri) (push) Has been cancelled Details
Test (make) / Test (1.17, 27, mnesia) (push) Has been cancelled Details
Test (make) / Test mixed clusters (1.17, 27, khepri) (push) Has been cancelled Details
Test (make) / Test mixed clusters (1.17, 27, mnesia) (push) Has been cancelled Details
Test (make) / Type check (1.17, 27) (push) Has been cancelled Details
Test Management UI with Selenium / selenium (chrome, 1.17.3, 27.3) (push) Has been cancelled Details
Launch another rabbitmq server from a Selenium test suite (backport #13843)
2025-05-03 19:53:02 +04:00
Michael Klishin fc350e4221
4.1.0 release notes edits
(cherry picked from commit c458cba923)
2025-05-03 11:48:52 -04:00
Michael Klishin b5682a50e9
Minor 4.1.0 release notes correction
(cherry picked from commit 6bda6a610f)
2025-05-03 11:48:44 -04:00
Michael Klishin 01d520fdcb
Resolve a conflict #13843 #13847 2025-05-03 11:09:50 -04:00
Marcial Rosales 816cf8a993 Fix test
it was necessary to add a queue first before checking which
columns are available

(cherry picked from commit 7653b6522a)

# Conflicts:
#	selenium/test/queuesAndStreams/list.js
2025-05-03 14:38:04 +00:00
Marcial Rosales e5e80efbef Fix location of definitions file
(cherry picked from commit fa315e4d86)
2025-05-03 14:38:03 +00:00
Marcial Rosales bb05f41e63 Minor test chnage
(cherry picked from commit 64f7aa2c95)
2025-05-03 14:38:03 +00:00
Marcial Rosales 44fbd67a7a Modify scripts so that it is possible to start 2 rabbitmqs
(cherry picked from commit 438b77443c)
2025-05-03 14:38:03 +00:00
Michael Klishin e7897376c9
Merge pull request #13842 from rabbitmq/mergify/bp/v4.1.x/pr-13838
Test management ui selection of vhost's tags columns  (backport #13838)
2025-05-03 18:35:58 +04:00
Marcial Rosales 87d8d95f87 Fix test 2025-05-03 12:40:29 +02:00
Michael Klishin 2ea704c14f
Merge pull request #13841 from rabbitmq/mergify/bp/v4.1.x/pr-13840
Trigger a 4.1.x alpha release build / trigger_alpha_build (push) Waiting to run Details
Test (make) / Build and Xref (1.17, 26) (push) Waiting to run Details
Test (make) / Build and Xref (1.17, 27) (push) Waiting to run Details
Test (make) / Test (1.17, 27, khepri) (push) Waiting to run Details
Test (make) / Test (1.17, 27, mnesia) (push) Waiting to run Details
Test (make) / Test mixed clusters (1.17, 27, khepri) (push) Waiting to run Details
Test (make) / Test mixed clusters (1.17, 27, mnesia) (push) Waiting to run Details
Test (make) / Type check (1.17, 27) (push) Waiting to run Details
Fix formatter crash in rabbit_reader (backport #13840)
2025-05-02 20:28:25 +04:00
Marcial Rosales e116c0822b Test columns for queues and exchanges
(cherry picked from commit fb02466b20)
2025-05-02 14:37:52 +00:00
Marcial Rosales bbeef880bf Test columns available for queues and stream
(cherry picked from commit ba0510f85d)
2025-05-02 14:37:52 +00:00
Marcial Rosales ec243ba836 Test virtual hosts and select tags column
(cherry picked from commit 175abbff87)
2025-05-02 14:37:52 +00:00
Marcial Rosales 4fd25e0518 Testing new vhost has the tag
(cherry picked from commit ea66a25dfa)
2025-05-02 14:37:52 +00:00
Marcial Rosales 385598387e Select columns of vhosts
(cherry picked from commit 7003fefa44)
2025-05-02 14:37:51 +00:00
Marcial Rosales 4231ea7e19 Select tags column on vhosts table
(cherry picked from commit 1ab81f7901)
2025-05-02 14:37:51 +00:00
Marcial Rosales e308af1547 Test adding vhost
(cherry picked from commit 01ca72edc0)
2025-05-02 14:37:51 +00:00
Michal Kuratczyk ce776fc959 Fix formatter crash in rabbit_reader
(cherry picked from commit 435274bc83)
2025-05-02 14:22:47 +00:00
Michael Klishin a043f00e56
Merge pull request #13823 from rabbitmq/mergify/bp/v4.1.x/pr-13822
Remove unused Javascript functions (backport #13822)
2025-04-29 03:15:41 +04:00
Luke Bakken f1bdd84e6c Remove unused Javascript functions
A security scanner flagged the use of `RegExp` with unsanitized input.
Turns out, these functions are no longer used and can be deleted.

(cherry picked from commit 61b0f152fd)
2025-04-28 23:10:07 +00:00