Commit Graph

59086 Commits

Author SHA1 Message Date
Michael Klishin e83c286367
Merge pull request #13643 from rabbitmq/su_aws/try_to_leave_cluster_before_joining
Allow a previously reset node to rejoin its original cluster
2025-04-01 13:20:26 -04:00
Michael Klishin c8c7bfb9bf
Merge pull request #13664 from rabbitmq/use-relative-path-for-oauth-cookie
Use relative path for the path linked to the cookie
2025-04-01 13:06:00 -04:00
Michael Klishin e6bc6a451f
Naming #13643 2025-04-01 12:13:43 -04:00
Marcial Rosales 03fae668e0 Test management custom path on each commit to PRs 2025-04-01 17:01:09 +02:00
Marcial Rosales 8dfcfa61e4 Use relative path for the path linked to the cookie
used by mangement ui oauth logic to store the
token until it is moved onto the local storage
2025-04-01 14:02:51 +02:00
Karl Nilsson 4556999a84
Ra 2.16.6 (#13662)
What's Changed
* Allow force shrink to non-voter member
* ra_server_proc: Handle aux_command in all Raft states
* Increase shutdown timeout for segment writer.
* Avoid modification checks when reading sparse entries inside the Ra process
2025-04-01 12:01:11 +02:00
Simon Unge 36eb6cafc1 Update spec, noconnection is also a possible error 2025-03-31 21:54:02 +00:00
Simon Unge cdeabe22bc Dont handle the exception just let it out there 2025-03-31 21:16:06 +00:00
Simon Unge e1f2865eae Return the exception 2025-03-31 17:55:49 +00:00
Simon Unge 9ba545cbef Fix dialyzer issue. 2025-03-31 17:52:01 +00:00
Michael Klishin a1ec795184
Merge pull request #13657 from rabbitmq/stream-sac-re-evaluate-group-after-connection-down
Re-evaluate stream SAC group after connection down event
2025-03-31 12:33:54 -04:00
Arnaud Cogoluègnes 602b6acd7d
Re-evaluate stream SAC group after connection down event
The same connection can contain several consumers belonging to a SAC
group (group key = vhost + stream + consumer name). The whole new group
must be re-evaluated to select a new active consumer after the consumers
of the down connection are removed from it.

The previous behavior would not re-evaluate the new group and could
select a consumer from the down connection, letting the group with only
inactive consumers, as the selected active consumer would never receive
the activation message from the stream SAC coordinator.

This commit fixes this problem by removing the consumers of the down
down connection from the affected groups and then performing the
appropriate operations for the groups to keep on consuming (e.g.
notifying an active consumer that it needs to step down).

References #13372
2025-03-31 14:59:59 +02:00
Michael Klishin 12e600a791
Merge pull request #13653 from rabbitmq/dependabot/maven/deps/rabbit/test/amqp_jms_SUITE_data/main/dev-deps-cb8666ad41
[skip ci] Bump com.google.googlejavaformat:google-java-format from 1.25.2 to 1.26.0 in /deps/rabbit/test/amqp_jms_SUITE_data in the dev-deps group across 1 directory
2025-03-29 17:45:43 -04:00
dependabot[bot] d5fcab2af2
[skip ci] Bump com.google.googlejavaformat:google-java-format
Bumps the dev-deps group with 1 update in the /deps/rabbit/test/amqp_jms_SUITE_data directory: [com.google.googlejavaformat:google-java-format](https://github.com/google/google-java-format).


Updates `com.google.googlejavaformat:google-java-format` from 1.25.2 to 1.26.0
- [Release notes](https://github.com/google/google-java-format/releases)
- [Commits](https://github.com/google/google-java-format/compare/v1.25.2...v1.26.0)

---
updated-dependencies:
- dependency-name: com.google.googlejavaformat:google-java-format
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-deps
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-29 18:07:51 +00:00
Simon Unge dd49cbe6c3 Mnesia: Ask to leave a cluster and retry to join if cluster already consider node a member.
Khepri: no-op. Khepri is less strict already, and rabbit_khepri:can_join would accept a join request from a node that is already a member
2025-03-28 21:24:08 +00:00
Michael Klishin cbb23d65bf
Merge pull request #13648 from rabbitmq/fix-flake-in-rabbit-fifo-int-SUITE
Fix flake(s) in rabbit_fifo_int_SUITE
2025-03-28 14:21:54 -04:00
Karl Nilsson e71fa51925 Speculative flake fix for amqpl_consumer_ack_SUITE.erl 2025-03-28 16:51:32 +00:00
Karl Nilsson 27be6c39d2
Merge pull request #13649 from rabbitmq/fix-debug-log-formatting
[skip ci] fix debug log formatting
2025-03-28 16:51:04 +00:00
Michal Kuratczyk 9699393da7
[skip ci] fix debug log formatting 2025-03-28 17:47:13 +01:00
Karl Nilsson 1d9f179562 Fix flake(s) in rabbit_fifo_int_SUITE
The start_cluster helper used the same UID (!!) for all members
in the local cluster. This resulted in shared mem tables and
all sorts of havoc.
2025-03-28 13:37:18 +00:00
Michal Kuratczyk f0976b48b2
queue info metric: guard against whereis returning `undefined` (#13646) 2025-03-28 12:37:42 +01:00
Michael Klishin 00a7898dbe
Merge pull request #13645 from rabbitmq/revert-13344-issue-12545
Revert "Redirect to end_session_endpoint for idp_initiated logon when it is configured"
2025-03-28 02:31:48 -04:00
Michael Klishin 3756775ebe
Revert "Redirect to end_session_endpoint for idp_initiated logon when it is configured" 2025-03-28 02:31:09 -04:00
Michael Klishin bde9868c1e
Merge pull request #13344 from rabbitmq/issue-12545
Redirect to end_session_endpoint for idp_initiated logon when it is configured
2025-03-27 20:32:20 -04:00
Marcial Rosales 46808c3ea6
Test with oauth2-proxy 2025-03-27 19:01:13 -04:00
Michael Klishin ab8799a739
Redirect to end_session_endpoint for idp-initiated logon
Conflicts:
	selenium/bin/components/fakeportal
2025-03-27 19:01:01 -04:00
Michael Klishin 860bb7c47b
Merge pull request #13638 from rabbitmq/ra-2.16.5 2025-03-27 14:33:19 -04:00
Karl Nilsson 4fe96dfd27 Ra 2.16.5 - bug fixes and minor improvements
Ra improvements:

* Don't allow a non-voter to start elections
* Register with ra directory before initialising ra server.
* Trigger tick_timeout immediately after entering leader state.
* Set a configurable segment max size

This commit also includes a change to turn the quorum queue
become leader callback to become a noop and instead rely on
the more promptly tick_handler to handle the meta data store
update after a leader election.

This more prompt tick update means there should be a much shorter
gap between the queue metrics being deleted from the old leader
node to them being available again on the new node resulting
in smoother message count metrics.

Fix test that relied on waiting on too simplistic a property
before asserting.
2025-03-27 17:06:31 +00:00
Michal Kuratczyk 2a93bbcebd
RMQ-1460: Emit queue_info metric (#13583)
To allow filtering on queue type or membership status,
we need an info metric for queues; see
https://grafana.com/blog/2021/08/04/how-to-use-promql-joins-for-more-effective-queries-of-prometheus-metrics-at-scale/#info-metrics

With this change, per-object metrics and the detailed metrics
(if queue-related families are requested) will contain
rabbitmq_queue_info / rabbitmq_detailed_queue_info with a value of 1
and labels including the queue name, vhost, queue type and membership
status.
2025-03-27 15:54:26 +01:00
David Ansari c151806f7c Apply PR formatting feedback
https://github.com/rabbitmq/rabbitmq-server/pull/13625#discussion_r2016008850
https://github.com/rabbitmq/rabbitmq-server/pull/13625#discussion_r2016010107
2025-03-27 11:30:23 +01:00
David Ansari ef1a595a13 Fix crash when consuming from unavailable quorum queue
Prior to this commit, when a client consumed from an unavailable quorum
queue, the following crash occurred:
```
{badmatch,{error,noproc}}
[{rabbit_quorum_queue,consume,3,[{file,\"rabbit_quorum_queue.erl\"},{line,993}]}
```

This commit fixes this bug by returning any error when registering a
quorum queue consumer to rabbit_queue_type.

This commit also refactors errors returned by
rabbit_queue_type:consume/3 to simplify and ensure seperation of
concerns.

For example prior to this commit, the channel did error
formatting specifically for consuming from streams. It's better if
the channel is unaware of what queue type it consumes from and have each
queue type implementation format their own errors.
2025-03-27 11:30:23 +01:00
David Ansari 44657cd393 Bump timeout in RabbitMQ AMQP 1.0 Erlang client
Bump the timeout for management operations and link attachments from 20s
to 30s. We've seen timeouts in CI.

We bump the poll interval of the `?awaitMatch` macro because CI
sometimes flaked by crashing in
0e803de6dd/deps/rabbitmq_amqp_client/src/rabbitmq_amqp_client.erl (L411)
which indicates that the client lib received a response from a previous
request.
2025-03-27 10:48:49 +01:00
Michael Klishin 0e803de6dd
Merge pull request #13634 from rabbitmq/mk-shovel-http-api-metrics
New Shovel management UI metrics
2025-03-27 00:53:43 -04:00
Iliia Khaprov 9efa0d9ffe
RMQ-1263: Shovel Management - add help strings for shovel counters
(cherry picked from commit 8e79a7f500c2df355f3ec7ac1fa1bdd3a8dff6a4)
2025-03-27 00:49:46 -04:00
Iliia Khaprov 6e871f6ab3
RMQ-1263: Shovels Management: show metrics (incl. forwarded counter) in the Shovel Status page
(cherry picked from commit f90dab71f147548c5e9ad921a0bc618179bd34c2)

Conflicts:
	deps/rabbitmq_shovel_management/src/rabbit_shovel_mgmt_util.erl
2025-03-27 00:49:08 -04:00
Michael Klishin bb7cd8381e
Merge pull request #13629 from rabbitmq/lukebakken/rmq-1585
Use case-insensitive `lists:member`
2025-03-26 22:20:49 -04:00
Luke Bakken 9bcd4328d2
Use case-insensitive `lists:member`
References:
* [`RMQ-1585`](https://vmw-jira.broadcom.net/browse/RMQ-1585)
* https://github.com/lukebakken/rmq-1585
2025-03-26 16:40:23 -07:00
Michael Klishin 9439756d62
Merge pull request #13628 from rabbitmq/ik-13620-shovel-forward-counter-followup
RMQ-1263: An attempt to make shovel status tuple handling backwards compatible
2025-03-26 16:20:46 -04:00
Michael Klishin 03526b51db
#13628 pass Dialyzer 2025-03-26 15:12:24 -04:00
Iliia Khaprov 4eda17bee2 RMQ-1263: An attempt to make shovel status tuple handling backwards compatible 2025-03-26 20:03:09 +01:00
Michael Klishin 11546aafa5
Merge pull request #13620 from rabbitmq/mk-shovel-forwarding-header-and-metric
Shovel: keep track of forwarded message count (a new metric)
2025-03-26 13:54:46 -04:00
Iliia Khaprov 1f20543ee3 RMQ-1263: shovel forward counter: try fixing rolling_upgrade_SUITE 2025-03-26 18:03:20 +01:00
Michael Klishin b568214980
Merge pull request #13623 from rabbitmq/loic-fix-cli-windows
Fix the CLI's main module on Windows
2025-03-26 11:47:28 -04:00
Loïc Hoguin fb985bb8b9
Fix the CLI's main module on Windows 2025-03-26 16:32:38 +01:00
Michael Klishin a0e6c23a82
Update 4.1.0.md 2025-03-26 09:26:06 -04:00
Karl Nilsson 26fa541e2c
Merge pull request #13587 from rabbitmq/qq-checkpointing-tweaks-2
QQ: Revise checkpointing logic to take more frequent checkpoints for large message workloads
2025-03-26 10:43:50 +00:00
Iliia Khaprov 63b5859360 RMQ-1263: readd lost shovel_prometheus parts 2025-03-26 11:22:36 +01:00
Karl Nilsson 6695282640 QQ: Revise checkpointing logic
To take more frequent checkpoints for large message workload

Lower the min_checkpoint_interval substantially to allow quorum queues
better control over when checkpoints are taken.

Track bytes enqueued in the aux state and suggest a checkpoint after
every 64MB enqueued (this value is scaled according to backlog just
like the indexes condition).
This should help with more timely checkpointing when very large
messages is used.

Try evaluating byte size independently of time window

also increase max size
2025-03-26 08:23:52 +00:00
Iliia Khaprov c2569d26f2
RMQ-1263: Shovels forward counter - fix dialyzer
(cherry picked from commit af22cf427a7054d93b3dd64fda01a86649fdd7c5)
2025-03-25 21:11:37 -04:00
Diana Parra Corbacho d4c1121c77
RMQ-1263: dialyze, unused var
(cherry picked from commit 68872f81074d378f76ffa44e7111e7979cdd8fd0)
2025-03-25 21:11:30 -04:00