Commit Graph

59372 Commits

Author SHA1 Message Date
Jean-Sébastien Pédron a34ce08f8f
rabbitmq_cli: Adapt `force_reset_command_test.exs` testsuites
[Why]
`force_reset` is unsupported with Khepri.
2025-04-23 11:34:37 +02:00
Jean-Sébastien Pédron 0541996b30
rabbitmq_4_0_deprecations_SUITE: Add more assertions to ram node tests 2025-04-23 11:34:36 +02:00
Jean-Sébastien Pédron a528a415d3
Khepri: Mark `khepri_db` as stable
[Why]
The intent is to have it stable and enabled by default for new
deployment in RabbitMQ 4.1.x.

To prepare for this goal, it is time to mark the feature flag as stable
to let us iron out the library and its integration into RabbitMQ.

This is not a commitment at this stage: we will revisit this near the
beginning of the release cycle and commit to it or revert to
experimental.
2025-04-23 11:34:32 +02:00
Jean-Sébastien Pédron d6a9c63cd2
Merge pull request #13779 from rabbitmq/use-rabbitmq-4.0.9-for-mixed-version-testing
GitHub Actions: Use RabbitMQ 4.0.9 for mixed-version testing
2025-04-23 11:34:05 +02:00
Jean-Sébastien Pédron ac90d13af6
GitHub Actions: Use RabbitMQ 4.0.9 for mixed-version testing
[Why]
We used a 4.0.x snapshot so far because we needed RabbitMQ 4.0.x to use
khepri_mnesia_migration 0.7.2.

RabbitMQ 4.0.9 was released with this update of khepri_mnesia_migration,
thus we don't need the snapshot anymore.
2025-04-23 10:45:50 +02:00
Aaron Seo 614ce25cc7
Add test suite for rabbitmq_auth_backend_internal_loopback 2025-04-21 12:11:36 -07:00
Michael Klishin d265fdd889
Drop the 4.0.x alphas workflow
Now that 4.1.0 is out, 4.0.x binary releases will
no longer be available publicly.

(cherry picked from commit cf98ba5a8c)

Conflicts:
	.github/workflows/release-4.0.x-alphas.yaml
(cherry picked from commit 4dc2395d63)
2025-04-19 14:25:41 -04:00
Michael Klishin d3ffe65f3f
Merge pull request #13771 from rabbitmq/loic-fix-rare-msg-store-eof
CQ: Fix rare eof crash of message store with fanout
2025-04-19 12:11:18 +04:00
Loïc Hoguin 7138e8a0cc
CQ: Fix rare eof crash of message store with fanout 2025-04-18 13:50:57 +02:00
Michael Klishin 813f1e9b3d
Merge pull request #13765 from rabbitmq/dashboard-update-rmq-4.1
[skip ci] Grafana: update dashboards for RabbitMQ 4.1.x
2025-04-16 19:51:54 +04:00
Michal Kuratczyk c0368a0d24
[skip ci] Update dashboards for RabbitMQ 4.1
Key changes:
- endpoint variable to handle scraping multiple endpoints
- message size panels (new metric in 4.1)
- panels at the top of the Overview dashboard should be more up to date
  (they show the latest value)
- values should be accurate if multiple endpoints are scraped
  (previously, many would be doubled)
- Nodes table shows fewer volumns and shows node uptime
2025-04-16 17:48:21 +02:00
Michal Kuratczyk e90b47f7e1
[skip ci] Add new versions to GH Discussion template 2025-04-16 14:15:32 +02:00
Michael Klishin 2592dff63a
One more 4.1.0 release notes update 2025-04-15 15:49:50 -04:00
Michael Klishin beb7e83aa7
4.1.0 release notes: update a compatible amqplib release link
(cherry picked from commit a68af5a98883aac352ff1e7e079889dcb23a713f)
2025-04-15 15:14:15 -04:00
Michael Klishin 52fcd15bef
Merge pull request #13756 from rabbitmq/4.1-release-notes-prometheus
[skip-ci] Additional Prometheus-related release notes
2025-04-15 21:18:37 +04:00
Michael Klishin 4d162257b4
4.1.0 release notes edits 2025-04-15 13:17:54 -04:00
Michal Kuratczyk b03b3cabf3
[skip-ci] Additional Prometheus-related release notes 2025-04-15 18:46:57 +02:00
Michael Klishin cb4676da88
4.1.0 release notes: prepare for 4.1.0 GA 2025-04-15 01:03:04 -04:00
Michael Klishin 95332ddad1
Use a functional token for rabbitmq/server-packages event dispatch 2025-04-15 01:00:20 -04:00
Michael Klishin 596e3ef41a
Cosmetics 2025-04-15 00:57:39 -04:00
Aaron Seo 803cd3956b
Fix doc typo for internal_loopback auth backend 2025-04-14 11:02:49 -07:00
Michael Klishin 118236b1dd
Another 4.0.9 release notes update 2025-04-14 10:49:30 -04:00
Michael Klishin 97b98c1f5f
4.0.9 release notes 2025-04-14 08:54:53 -04:00
Michael Klishin b11d853880
Merge commit '228cbf9776' 2025-04-14 08:38:15 -04:00
Michael Klishin 228cbf9776
Naming, docs #13747 2025-04-14 08:38:03 -04:00
Anh Nguyen e557ab37a3 Add quorum queue config in INI style 2025-04-14 18:55:09 +07:00
Michael Klishin 1aa3342590
Merge pull request #13739 from rabbitmq/dependabot/maven/deps/rabbit/test/amqp_jms_SUITE_data/main/dev-deps-2c123be8b9
[skip ci] Bump the dev-deps group across 5 directories with 4 updates
2025-04-13 00:20:54 +04:00
Michael Klishin e31daa65d9
Merge pull request #13740 from rabbitmq/dependabot/maven/deps/rabbit/test/amqp_jms_SUITE_data/main/prod-deps-68a44efc4f
[skip ci] Bump the prod-deps group across 4 directories with 1 update
2025-04-13 00:20:47 +04:00
dependabot[bot] 578552e765
[skip ci] Bump the prod-deps group across 4 directories with 1 update
Bumps the prod-deps group with 1 update in the /deps/rabbit/test/amqp_jms_SUITE_data directory: [com.diffplug.spotless:spotless-maven-plugin](https://github.com/diffplug/spotless).
Bumps the prod-deps group with 1 update in the /deps/rabbitmq_mqtt/test/java_SUITE_data directory: [com.diffplug.spotless:spotless-maven-plugin](https://github.com/diffplug/spotless).
Bumps the prod-deps group with 1 update in the /deps/rabbitmq_stream/test/rabbit_stream_SUITE_data directory: [com.diffplug.spotless:spotless-maven-plugin](https://github.com/diffplug/spotless).
Bumps the prod-deps group with 1 update in the /deps/rabbitmq_stream_management/test/http_SUITE_data directory: [com.diffplug.spotless:spotless-maven-plugin](https://github.com/diffplug/spotless).


Updates `com.diffplug.spotless:spotless-maven-plugin` from 2.44.3 to 2.44.4
- [Release notes](https://github.com/diffplug/spotless/releases)
- [Changelog](https://github.com/diffplug/spotless/blob/main/CHANGES.md)
- [Commits](https://github.com/diffplug/spotless/compare/maven/2.44.3...maven/2.44.4)

Updates `com.diffplug.spotless:spotless-maven-plugin` from 2.44.3 to 2.44.4
- [Release notes](https://github.com/diffplug/spotless/releases)
- [Changelog](https://github.com/diffplug/spotless/blob/main/CHANGES.md)
- [Commits](https://github.com/diffplug/spotless/compare/maven/2.44.3...maven/2.44.4)

Updates `com.diffplug.spotless:spotless-maven-plugin` from 2.44.3 to 2.44.4
- [Release notes](https://github.com/diffplug/spotless/releases)
- [Changelog](https://github.com/diffplug/spotless/blob/main/CHANGES.md)
- [Commits](https://github.com/diffplug/spotless/compare/maven/2.44.3...maven/2.44.4)

Updates `com.diffplug.spotless:spotless-maven-plugin` from 2.44.3 to 2.44.4
- [Release notes](https://github.com/diffplug/spotless/releases)
- [Changelog](https://github.com/diffplug/spotless/blob/main/CHANGES.md)
- [Commits](https://github.com/diffplug/spotless/compare/maven/2.44.3...maven/2.44.4)

---
updated-dependencies:
- dependency-name: com.diffplug.spotless:spotless-maven-plugin
  dependency-version: 2.44.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-deps
- dependency-name: com.diffplug.spotless:spotless-maven-plugin
  dependency-version: 2.44.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-deps
- dependency-name: com.diffplug.spotless:spotless-maven-plugin
  dependency-version: 2.44.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-deps
- dependency-name: com.diffplug.spotless:spotless-maven-plugin
  dependency-version: 2.44.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: prod-deps
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-12 18:22:42 +00:00
dependabot[bot] dee14f21a3
[skip ci] Bump the dev-deps group across 5 directories with 4 updates
Bumps the dev-deps group with 1 update in the /deps/rabbit/test/amqp_jms_SUITE_data directory: [org.junit.jupiter:junit-jupiter-engine](https://github.com/junit-team/junit5).
Bumps the dev-deps group with 1 update in the /deps/rabbitmq_auth_backend_http/examples/rabbitmq_auth_backend_spring_boot directory: [org.junit.jupiter:junit-jupiter-params](https://github.com/junit-team/junit5).
Bumps the dev-deps group with 1 update in the /deps/rabbitmq_mqtt/test/java_SUITE_data directory: [org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit5).
Bumps the dev-deps group with 2 updates in the /deps/rabbitmq_stream/test/rabbit_stream_SUITE_data directory: [org.junit.jupiter:junit-jupiter-engine](https://github.com/junit-team/junit5) and [org.junit.jupiter:junit-jupiter-params](https://github.com/junit-team/junit5).
Bumps the dev-deps group with 3 updates in the /deps/rabbitmq_stream_management/test/http_SUITE_data directory: [org.junit.jupiter:junit-jupiter-engine](https://github.com/junit-team/junit5), [org.junit.jupiter:junit-jupiter-params](https://github.com/junit-team/junit5) and [com.google.code.gson:gson](https://github.com/google/gson).


Updates `org.junit.jupiter:junit-jupiter-engine` from 5.12.1 to 5.12.2
- [Release notes](https://github.com/junit-team/junit5/releases)
- [Commits](https://github.com/junit-team/junit5/compare/r5.12.1...r5.12.2)

Updates `org.junit.jupiter:junit-jupiter-params` from 5.12.1 to 5.12.2
- [Release notes](https://github.com/junit-team/junit5/releases)
- [Commits](https://github.com/junit-team/junit5/compare/r5.12.1...r5.12.2)

Updates `org.junit.jupiter:junit-jupiter` from 5.12.1 to 5.12.2
- [Release notes](https://github.com/junit-team/junit5/releases)
- [Commits](https://github.com/junit-team/junit5/compare/r5.12.1...r5.12.2)

Updates `org.junit.jupiter:junit-jupiter-engine` from 5.12.1 to 5.12.2
- [Release notes](https://github.com/junit-team/junit5/releases)
- [Commits](https://github.com/junit-team/junit5/compare/r5.12.1...r5.12.2)

Updates `org.junit.jupiter:junit-jupiter-params` from 5.12.1 to 5.12.2
- [Release notes](https://github.com/junit-team/junit5/releases)
- [Commits](https://github.com/junit-team/junit5/compare/r5.12.1...r5.12.2)

Updates `org.junit.jupiter:junit-jupiter-params` from 5.12.1 to 5.12.2
- [Release notes](https://github.com/junit-team/junit5/releases)
- [Commits](https://github.com/junit-team/junit5/compare/r5.12.1...r5.12.2)

Updates `org.junit.jupiter:junit-jupiter-engine` from 5.12.1 to 5.12.2
- [Release notes](https://github.com/junit-team/junit5/releases)
- [Commits](https://github.com/junit-team/junit5/compare/r5.12.1...r5.12.2)

Updates `org.junit.jupiter:junit-jupiter-params` from 5.12.1 to 5.12.2
- [Release notes](https://github.com/junit-team/junit5/releases)
- [Commits](https://github.com/junit-team/junit5/compare/r5.12.1...r5.12.2)

Updates `org.junit.jupiter:junit-jupiter-params` from 5.12.1 to 5.12.2
- [Release notes](https://github.com/junit-team/junit5/releases)
- [Commits](https://github.com/junit-team/junit5/compare/r5.12.1...r5.12.2)

Updates `com.google.code.gson:gson` from 2.12.1 to 2.13.0
- [Release notes](https://github.com/google/gson/releases)
- [Changelog](https://github.com/google/gson/blob/main/CHANGELOG.md)
- [Commits](https://github.com/google/gson/compare/gson-parent-2.12.1...gson-parent-2.13.0)

---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-engine
  dependency-version: 5.12.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-deps
- dependency-name: org.junit.jupiter:junit-jupiter-params
  dependency-version: 5.12.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-deps
- dependency-name: org.junit.jupiter:junit-jupiter
  dependency-version: 5.12.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-deps
- dependency-name: org.junit.jupiter:junit-jupiter-engine
  dependency-version: 5.12.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-deps
- dependency-name: org.junit.jupiter:junit-jupiter-params
  dependency-version: 5.12.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-deps
- dependency-name: org.junit.jupiter:junit-jupiter-params
  dependency-version: 5.12.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-deps
- dependency-name: org.junit.jupiter:junit-jupiter-engine
  dependency-version: 5.12.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-deps
- dependency-name: org.junit.jupiter:junit-jupiter-params
  dependency-version: 5.12.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-deps
- dependency-name: org.junit.jupiter:junit-jupiter-params
  dependency-version: 5.12.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-deps
- dependency-name: com.google.code.gson:gson
  dependency-version: 2.13.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-deps
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-12 18:21:52 +00:00
Michael Klishin 983b4d3d7c
4.1.0 release notes updates 2025-04-11 19:00:47 -04:00
Michael Klishin 9b4dd0fbd8
4.1.0 release notes updates 2025-04-11 18:59:55 -04:00
Michael Klishin a98e539927
Merge pull request #13735 from rabbitmq/ra-2.16.8
Ra 2.16.8
2025-04-11 22:13:43 +04:00
Karl Nilsson 8a30dd563a Ra 2.16.8
Includes a performance optimisation to avoid certain many queues
scenarios from timing out after a reboot.
2025-04-11 17:19:55 +01:00
Michael Klishin 25f8741f62
Merge pull request #13726 from rabbitmq/osiris-1.8.7
Osiris v1.8.7
2025-04-11 19:09:36 +04:00
Michal Kuratczyk 589e0b578c
Remove log level tests (#13723)
When debug logging is enabled, we log something at each log level
to test if logs are emitted. I don't think this is particularly useful,
but it's certainly annoying, because I constatnly need to filter
out these logs when searching if any errors happened during tests.
2025-04-11 12:13:06 +02:00
David Ansari 6eb1f87e14
Fix concurrent AMQP queue declarations (#13727)
* Fix concurrent AMQP queue declarations

Prior to this commit, when AMQP clients declared the same queues
concurrently, the following crash occurred:
```
  │ *Error{Condition: amqp:internal-error, Description: {badmatch,{<<"200">>,
  │            {map,[{{utf8,<<"leader">>},{utf8,<<"rabbit-2@carrot">>}},
  │                  {{utf8,<<"message_count">>},{ulong,0}},
  │                  {{utf8,<<"consumer_count">>},{uint,0}},
  │                  {{utf8,<<"name">>},{utf8,<<"cq-145">>}},
  │                  {{utf8,<<"vhost">>},{utf8,<<"/">>}},
  │                  {{utf8,<<"durable">>},{boolean,true}},
  │                  {{utf8,<<"auto_delete">>},{boolean,false}},
  │                  {{utf8,<<"exclusive">>},{boolean,false}},
  │                  {{utf8,<<"type">>},{utf8,<<"classic">>}},
  │                  {{utf8,<<"arguments">>},
  │                   {map,[{{utf8,<<"x-queue-type">>},{utf8,<<"classic">>}}]}},
  │                  {{utf8,<<"replicas">>},
  │                   {array,utf8,[{utf8,<<"rabbit-2@carrot">>}]}}]},
  │            {[{{resource,<<"/">>,queue,<<"cq-145">>},configure},
  │              {{resource,<<"/">>,queue,<<"cq-144">>},configure},
  │              {{resource,<<"/">>,queue,<<"cq-143">>},configure},
  │              {{resource,<<"/">>,queue,<<"cq-142">>},configure},
  │              {{resource,<<"/">>,queue,<<"cq-141">>},configure},
  │              {{resource,<<"/">>,queue,<<"cq-140">>},configure},
  │              {{resource,<<"/">>,queue,<<"cq-139">>},configure},
  │              {{resource,<<"/">>,queue,<<"cq-138">>},configure},
  │              {{resource,<<"/">>,queue,<<"cq-137">>},configure},
  │              {{resource,<<"/">>,queue,<<"cq-136">>},configure},
  │              {{resource,<<"/">>,queue,<<"cq-135">>},configure},
  │              {{resource,<<"/">>,queue,<<"cq-134">>},configure}],
  │             []}}}
  │ [{rabbit_amqp_management,handle_http_req,8,
  │                          [{file,"rabbit_amqp_management.erl"},{line,130}]},
  │  {rabbit_amqp_management,handle_request,5,
  │                          [{file,"rabbit_amqp_management.erl"},{line,43}]},
  │  {rabbit_amqp_session,incoming_mgmt_link_transfer,3,
  │                       [{file,"rabbit_amqp_session.erl"},{line,2317}]},
  │  {rabbit_amqp_session,handle_frame,2,
  │                       [{file,"rabbit_amqp_session.erl"},{line,963}]},
  │  {rabbit_amqp_session,handle_cast,2,
  │                       [{file,"rabbit_amqp_session.erl"},{line,539}]},
  │  {gen_server,try_handle_cast,3,[{file,"gen_server.erl"},{line,2371}]},
  │  {gen_server,handle_msg,6,[{file,"gen_server.erl"},{line,2433}]},
  │  {proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,329}]}], Info: map[]}
```

To repro, run the following command in parallel in two separate terminals:
```
./omq amqp -x 10000 -t /queues/cq-%d -y 0 -C 0 --queues classic  classic
```

* Simplify
2025-04-11 12:04:00 +02:00
Karl Nilsson bd96f86dc4 Osiris v1.8.7
This release contains some logging improvements to avoid logging
large stack traces during normal operations such as rolling restarts.
2025-04-11 08:54:50 +01:00
Aaron Seo 6d24aef9b0
Adds rabbit_auth_backend_internal_loopback
This auth backend behaves the same as the internal backend provided in
the core broker, but it only accepts loopback connections. External
connection attempts will receive an error.
2025-04-09 12:53:29 -07:00
Karl Nilsson 4a122df99b
Merge pull request #13718 from rabbitmq/ra-system-order
Start coordination Ra system before quorum_queues
2025-04-09 14:40:01 +01:00
Karl Nilsson 274f12f063 Start the coordination Ra system before quorum_queues
This ensures that quorum_queues shuts down _before_
coordination where khepri run inside.
Quorum queues depend on khepri so need to be shut down first.
2025-04-09 12:53:34 +01:00
Jean-Sébastien Pédron dc5a703c23
Merge pull request #12753 from rabbitmq/md/khepri-0-17
Bump Khepri to 0.17.0
2025-04-09 10:26:53 +02:00
Michael Klishin 9bb5dc2ef0
Merge pull request #13698 from rabbitmq/loic-require-auth-api-desc-page
Add new option require_auth_for_api_desc_page to mgmt
2025-04-09 02:29:47 -04:00
Michael Klishin 20188a770e
rabbitmq.conf schema and tests for #13698 2025-04-09 02:02:47 -04:00
Michael Klishin b4fe2cc661
Merge pull request #13703 from rabbitmq/qq-handle-tick-tweaks
QQ: handle tick tweaks
2025-04-08 15:57:59 -04:00
Michael Klishin 12bdf54969
Merge pull request #13685 from rabbitmq/merge-changes-from-tanzu
Upstream changes from Tanzu RabbitMQ's Selenium suite
2025-04-08 15:20:48 -04:00
Michael Klishin 593ec26337
Merge pull request #13701 from rabbitmq/avoid-crash-on-federation-status
Avoid crash when reporting federation status
2025-04-08 15:19:47 -04:00
Jean-Sébastien Pédron 2754fb7d05
GitHub Actions: Use a 4.0.x snapshot for mixed-version testing
This is to make sure the old node uses the latest
khepri_mnesia_migration patch release.
2025-04-08 18:47:27 +02:00
Jean-Sébastien Pédron c8fafa3772
rabbit_db: Note that rabbit_db_msup:create_or_update() is not atomic
... with Khepri.
2025-04-08 18:47:27 +02:00
Jean-Sébastien Pédron 440eb5b355
Khepri: Export `fence/1` 2025-04-08 18:47:27 +02:00