Commit Graph

57092 Commits

Author SHA1 Message Date
Michael Klishin 2bd3a2d307 Revert "Update deps/rabbitmq_prometheus/src/collectors/prometheus_rabbitmq_core_metrics_collector.erl"
This reverts commit 64e0812ced.
2024-07-11 21:34:46 -04:00
Michael Klishin 6b1e003afe Revert "New metrics return on detailed only"
This reverts commit 1aec73b21c.
2024-07-11 21:34:40 -04:00
Michael Klishin 85a4b365d0 Revert "Use functions w/out _process as its more approp."
This reverts commit 4d592da5ef.
2024-07-11 21:34:34 -04:00
Michael Klishin 2ec9625f1b Revert "Update deps/rabbit/src/rabbit_core_metrics_gc.erl"
This reverts commit b5fb5c4f2c.
2024-07-11 21:34:28 -04:00
Michael Klishin ec828e9fa9
Merge pull request #11559 from cloudamqp/feat/provide-metrics-without-channel-id-as-label-value
[Prometheus] Provide per-exchange/per-queue metrics
2024-07-11 17:39:45 -04:00
LoisSotoLopez 6b4e3225d3 Update deps/rabbit/src/rabbit_core_metrics_gc.erl
Co-authored-by: Péter Gömöri <gomoripeti@users.noreply.github.com>
2024-07-11 17:34:18 -04:00
Lois Soto Lopez 94e3b2ccaa Use functions w/out _process as its more approp. 2024-07-11 17:34:18 -04:00
Lois Soto Lopez 18e667fc8f New metrics return on detailed only
Make new metrics return on detailed only and adjust some of the
help messages.
2024-07-11 17:34:18 -04:00
LoisSotoLopez cb2de0d9ea Update deps/rabbitmq_prometheus/src/collectors/prometheus_rabbitmq_core_metrics_collector.erl
Co-authored-by: Péter Gömöri <gomoripeti@users.noreply.github.com>
2024-07-11 17:34:18 -04:00
Lois Soto Lopez ec5e258825 Provide per-exchange/queue metrics w/out channelID 2024-07-11 17:34:18 -04:00
Michael Klishin 0af892396a
Merge pull request #11680 from rabbitmq/dependabot/maven/deps/rabbitmq_mqtt/test/java_SUITE_data/main/org.apache.maven.plugins-maven-surefire-plugin-3.3.1
build(deps): bump org.apache.maven.plugins:maven-surefire-plugin from 3.3.0 to 3.3.1 in /deps/rabbitmq_mqtt/test/java_SUITE_data
2024-07-11 16:11:35 -04:00
Michael Klishin 337a199bf5
Merge pull request #11681 from rabbitmq/dependabot/maven/deps/rabbitmq_stream/test/rabbit_stream_SUITE_data/main/org.apache.maven.plugins-maven-surefire-plugin-3.3.1
build(deps): bump org.apache.maven.plugins:maven-surefire-plugin from 3.3.0 to 3.3.1 in /deps/rabbitmq_stream/test/rabbit_stream_SUITE_data
2024-07-11 16:11:26 -04:00
Michael Klishin e35663c706
Merge pull request #11676 from rabbitmq/rabbitmq-users-4AOwZrQyekI
Catch abrupt TCP closure when processing `queue_event`
2024-07-11 16:05:52 -04:00
dependabot[bot] b438af07c7
build(deps): bump org.apache.maven.plugins:maven-surefire-plugin
Bumps [org.apache.maven.plugins:maven-surefire-plugin](https://github.com/apache/maven-surefire) from 3.3.0 to 3.3.1.
- [Release notes](https://github.com/apache/maven-surefire/releases)
- [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.3.0...surefire-3.3.1)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-surefire-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-11 18:46:08 +00:00
dependabot[bot] eaf24e6b1f
build(deps): bump org.apache.maven.plugins:maven-surefire-plugin
Bumps [org.apache.maven.plugins:maven-surefire-plugin](https://github.com/apache/maven-surefire) from 3.3.0 to 3.3.1.
- [Release notes](https://github.com/apache/maven-surefire/releases)
- [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.3.0...surefire-3.3.1)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-surefire-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-11 18:40:32 +00:00
Michael Klishin 3bfcaa5d03
Merge pull request #11679 from rabbitmq/dependabot/maven/deps/rabbitmq_stream_management/test/http_SUITE_data/main/org.apache.maven.plugins-maven-surefire-plugin-3.3.1 2024-07-11 14:30:35 -04:00
dependabot[bot] ca1933f74a
build(deps): bump org.apache.maven.plugins:maven-surefire-plugin
Bumps [org.apache.maven.plugins:maven-surefire-plugin](https://github.com/apache/maven-surefire) from 3.3.0 to 3.3.1.
- [Release notes](https://github.com/apache/maven-surefire/releases)
- [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.3.0...surefire-3.3.1)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-surefire-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-11 18:10:25 +00:00
Luke Bakken 994008aa7f Catch abrupt TCP closure when processing `queue_event`
Reported here:
https://groups.google.com/g/rabbitmq-users/c/4AOwZrQyekI
2024-07-11 09:36:44 -07:00
Michael Davis 8c6b866fc5
Merge pull request #11667 from rabbitmq/md/khepri-projections-wrap-ets-calls
rabbit_db_*: Wrap `ets` calls to projections in `whereis/1` checks
2024-07-11 11:27:56 -05:00
Michael Klishin 599727ab22 Revisit Mergify settings
* Add v4.0.x
 * Drop more complex workflows/backport rules we
   do not really use in practice
2024-07-11 10:01:19 -04:00
David Ansari 1ca9b95952 Delete unnecessary function
as suggested by JSP in PR feedback
2024-07-11 11:20:26 +02:00
David Ansari e31df4cd01 Fix test case rebalance
This test case was wrongly skipped and therefore never ran.
2024-07-11 11:20:26 +02:00
David Ansari 18e8c1d5f8 Require all stable feature flags added up to 3.13.0
Since feature flag `message_containers` introduced in 3.13.0 is required in 4.0,
we can also require all other feature flags introduced in or before 3.13.0
and remove their compatibility code for 4.0:

* restart_streams
* stream_sac_coordinator_unblock_group
* stream_filtering
* stream_update_config_command
2024-07-11 11:20:26 +02:00
Michael Davis cabf4dd863
Merge pull request #11668 from rabbitmq/md/bump-khepri-0.14.0
Bump `khepri` to 0.14.0, `khepri_mnesia_migration` to 0.5.0
2024-07-10 15:22:37 -05:00
Michael Davis 88c1ad2f6e
Adapt to new `{error, timeout}` return value in Khepri 0.14.0
See rabbitmq/khepri#256.
2024-07-10 16:07:43 -04:00
Jean-Sébastien Pédron e9da930f59
Bump Khepri from 0.13.0 to 0.14.0
Release notes:
https://github.com/rabbitmq/khepri/releases/tag/v0.14.0

While here, bump khepri_mnesia_migration from 0.4.0 to 0.5.0 as well.
2024-07-10 16:07:43 -04:00
Michael Davis ae0663d7ca
Merge pull request #11663 from rabbitmq/md/ci/turn-off-mixed-version-khepri-tests
Turn off mixed version tests against Khepri
2024-07-10 15:07:07 -05:00
Michael Davis c490043484
rabbit_db_*: Wrap `ets` calls to projections in `whereis/1` checks
Projections might not be available in a mixed-version scenario where a
cluster has nodes which are all blank/uninitialized and the majority
of nodes run a version of Khepri with a new machine version while the
minority does not have the new machine version's code.

In this case, the cluster's effective machine version will be set to
the newer version as the majority of members have access to the new
code. The older version members will be unable to apply commands
including the `register_projection` commands that set up these ETS
tables. When these ETS tables don't exist, calls like `ets:tab2list/1`
or `ets:lookup/2` cause `badarg` errors.

We use default empty values when `ets:whereis/1` returns `undefined` for
a projection table name. Instead we could use local queries or leader
queries. Writing equivalent queries is a fair amount more work and the
code would be hard to test. `ets:whereis/1` should only return
`undefined` in the above scenario which should only be a problem in
our mixed-version testing - not in practice.
2024-07-10 14:24:27 -04:00
Michael Klishin 67a8c64a28
Merge pull request #11665 from rabbitmq/direct-reply-to-fix
Fix direct reply to crash when tracing is enabled
2024-07-10 14:13:06 -04:00
Michael Klishin 348ca6f5a7 amqpl_direct_reply_to_SUITE: use separate queue names to avoid interference 2024-07-10 13:48:38 -04:00
Michael Davis 95279a31ec
rabbitmq_consistent_hash_exchange: Remove shard count for test suite
Without buildbuddy for parallelization and with the change in the parent
commit to reduce the number of cases, the suite now runs fast enough
that sharding is counterproductive.
2024-07-10 13:46:22 -04:00
Michael Davis 56bbf3760d
Respect RABBITMQ_METADATA_STORE in clustering_recovery_SUITE 2024-07-10 13:46:22 -04:00
Michael Davis da83358a4a
Respect RABBITMQ_METADATA_STORE in consistent hash exchange suite 2024-07-10 13:46:22 -04:00
Michael Davis 0a4e5a9845
Respect RABBITMQ_METADATA_STORE in clustering_management_SUITE 2024-07-10 13:46:05 -04:00
Michael Davis ecb757554e
Skip cluster_minority_SUITE when RABBITMQ_METADATA_STORE is set to mnesia
This suite is only meant to run with Khepri as the metadata store.
Instead of setting this explicitly we can look at the configured
metadata store and conditionally skip the entire suite. This prevents
these tests from running twice in CI.
2024-07-10 13:46:05 -04:00
Michael Davis bda1f7cef6
Skip metadata_store_clustering_SUITE in mixed versions testing
Khepri is not yet compatible with mixed-version testing and this suite
only tests clustering when Khepri is the metadata store in at least some
of the nodes.
2024-07-10 13:46:05 -04:00
Michael Davis e08310ab13
CI: Turn off mixed version tests running Khepri
Khepri is experimental and not guaranteed to be upgradable. We should
re-enable mixed version testing as Khepri stabilizes but for now we
should turn it off.

This saves some CI time and avoids some failures that will be introduced
when we upgrade Khepri to v0.14.0.
2024-07-10 13:45:09 -04:00
David Ansari 5deff457a0 Fix direct reply to crash when tracing is enabled
This commit fixes https://github.com/rabbitmq/rabbitmq-server/discussions/11662

Prior to this commit the following crash occurred when an RPC reply message entered
RabbitMQ and tracing was enabled:
```
** Reason for termination ==
** {function_clause,
       [{rabbit_trace,'-tap_in/6-fun-0-',
            [{virtual_reply_queue,
                 <<"amq.rabbitmq.reply-to.g1h2AA5yZXBseUAyNzc5NjQyMAAAC1oAAAAAZo4bIw==.+Uvn1EmAp0ZA+oQx2yoQFA==">>}],
            [{file,"rabbit_trace.erl"},{line,62}]},
        {lists,map,2,[{file,"lists.erl"},{line,1559}]},
        {rabbit_trace,tap_in,6,[{file,"rabbit_trace.erl"},{line,62}]},
        {rabbit_channel,handle_method,3,
            [{file,"rabbit_channel.erl"},{line,1284}]},
        {rabbit_channel,handle_cast,2,
            [{file,"rabbit_channel.erl"},{line,659}]},
        {gen_server2,handle_msg,2,[{file,"gen_server2.erl"},{line,1056}]},
        {proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,241}]}]}
```

(Note that no trace message is emitted for messages that are delivered to
direct reply to requesting clients (neither in 3.12, nor in 3.13, nor
after this commit). This behaviour can be added in future when a direct
reply virtual queue becomes its own queue type.)
2024-07-10 18:14:35 +02:00
Jean-Sébastien Pédron 50524d4113
Merge pull request #11661 from rabbitmq/fix-error-handling-in-consul-and-etcd-testsuites
rabbitmq_peer_discovery_{etcd,consul}: Fix error handling if Khepri is unsupported
2024-07-10 16:33:54 +02:00
Jean-Sébastien Pédron e890b9d37f
rabbitmq_peer_discovery_{etcd,consul}: Fix error handling if Khepri is unsupported
[How]
We must check the return value of `rabbit_ct_broker_helpers:run_steps/2`
because it could ask that the testsuite/testgroup/testcase should be
skipped.
2024-07-10 14:24:19 +02:00
Michael Klishin 188241197b
Community support policy: link to the OAuth 2 troubleshooting guide 2024-07-10 08:08:46 -04:00
Jean-Sébastien Pédron 69858867c5
Merge pull request #11654 from rabbitmq/rabbitmq-server-11653
Take `-setcookie` argument into account for peer args
2024-07-10 11:10:25 +02:00
David Ansari 50116f0927 Require MQTT feature flags in 4.0
Require all MQTT feature flags and remove their compatibility code:
* delete_ra_cluster_mqtt_node
* rabbit_mqtt_qos0_queue
* mqtt_v5

These feature flags were introduced in or before 3.13.0.
2024-07-10 10:27:59 +02:00
Luke Bakken c3c4612efa
Take `-setcookie` argument into account for peer args
Fixes issue raised in discussion #11653

The user used the following env var:

```
RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS="-setcookie FOOBARBAZ"
```

...and the cookie was not passed to the peer node for peer discovery.
2024-07-09 17:00:58 -07:00
Michael Klishin 6b6cf58af8
Merge pull request #11650 from rabbitmq/dependabot/maven/deps/rabbitmq_mqtt/test/java_SUITE_data/main/org.assertj-assertj-core-3.26.3
build(deps-dev): bump org.assertj:assertj-core from 3.26.0 to 3.26.3 in /deps/rabbitmq_mqtt/test/java_SUITE_data
2024-07-09 15:08:24 -04:00
Michael Klishin a533c98435
Merge pull request #11649 from rabbitmq/dependabot/maven/deps/rabbitmq_stream/test/rabbit_stream_SUITE_data/main/org.assertj-assertj-core-3.26.3
build(deps-dev): bump org.assertj:assertj-core from 3.26.0 to 3.26.3 in /deps/rabbitmq_stream/test/rabbit_stream_SUITE_data
2024-07-09 15:08:17 -04:00
dependabot[bot] b0b857b0a4
build(deps-dev): bump org.assertj:assertj-core
Bumps [org.assertj:assertj-core](https://github.com/assertj/assertj) from 3.26.0 to 3.26.3.
- [Release notes](https://github.com/assertj/assertj/releases)
- [Commits](https://github.com/assertj/assertj/compare/assertj-build-3.26.0...assertj-build-3.26.3)

---
updated-dependencies:
- dependency-name: org.assertj:assertj-core
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-09 18:52:14 +00:00
dependabot[bot] 6b2d5573ba
build(deps-dev): bump org.assertj:assertj-core
Bumps [org.assertj:assertj-core](https://github.com/assertj/assertj) from 3.26.0 to 3.26.3.
- [Release notes](https://github.com/assertj/assertj/releases)
- [Commits](https://github.com/assertj/assertj/compare/assertj-build-3.26.0...assertj-build-3.26.3)

---
updated-dependencies:
- dependency-name: org.assertj:assertj-core
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-09 18:45:56 +00:00
Michael Klishin be3d44a5b4
Merge pull request #11648 from rabbitmq/dependabot/maven/deps/rabbitmq_stream_management/test/http_SUITE_data/main/org.assertj-assertj-core-3.26.3
build(deps-dev): bump org.assertj:assertj-core from 3.26.0 to 3.26.3 in /deps/rabbitmq_stream_management/test/http_SUITE_data
2024-07-09 14:23:13 -04:00
dependabot[bot] ab376c0b6b
build(deps-dev): bump org.assertj:assertj-core
Bumps [org.assertj:assertj-core](https://github.com/assertj/assertj) from 3.26.0 to 3.26.3.
- [Release notes](https://github.com/assertj/assertj/releases)
- [Commits](https://github.com/assertj/assertj/compare/assertj-build-3.26.0...assertj-build-3.26.3)

---
updated-dependencies:
- dependency-name: org.assertj:assertj-core
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-09 18:06:42 +00:00