Commit Graph

49431 Commits

Author SHA1 Message Date
Karl Nilsson b59d87d90e
Tidy up some stream coordinator warning logs
Some logs used ~p to format a full stack trace. Given these warnings are emitted during
any nodedown this unnecessarily pollutes the logs. Trimmed using ~W instead.
2021-08-31 15:29:16 +01:00
Karl Nilsson 9092de1e32
Stream coordinator: only return tail info if osiris app is started
This ensures that only nodes that are ready to host stream members
are included in the election. This avoids continuous restart attempts
when the rabbit application is stopped.
2021-08-31 15:29:16 +01:00
Gerhard Lazu 6c0ba03d61
Test that we start from 0 publishers & consumers
Pair: @kjnilsson

Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
2021-08-31 15:29:16 +01:00
Gerhard Lazu 0ecf3d4eeb
Test stream publisher & consumer counters
Pair: @kjnilsson

Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
2021-08-31 15:29:16 +01:00
Gerhard Lazu dad0025088
Perform stream reader cleanup in terminate
Otherwise metrics will not get cleaned up correctly when processes crash.

It's also tidier to do this in a single place, in terminate/3

Pair: @kjnilsson

Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
2021-08-31 15:29:15 +01:00
Arnaud Cogoluègnes 8dc024089c
Bump dependencies in Java stream tests 2021-08-31 08:32:53 +02:00
Philip Kuryloski 09fb5c5321 Skip additional tests in mixed versions
The tests in question won't pass consistently as they are at the mercy
of how the quorum queue is placed across the mixed version nodes
2021-08-30 17:17:25 +02:00
Philip Kuryloski fc17fbcbc3 Import osiris as a native bazel library
As osiris now declares its own bazel build
https://github.com/rabbitmq/osiris/pull/48
2021-08-30 11:03:49 +02:00
Michael Klishin 8c06dac37f
3.8.22 release notes 2021-08-28 14:29:55 +03:00
Michael Klishin d26a8deef1
Update 3.9.5 release notes 2021-08-28 14:29:55 +03:00
Michael Klishin 83f007be54
Merge pull request #3341 from rabbitmq/local-exclusive-queues
Always place exclusive queues on the local node
2021-08-28 09:54:49 +03:00
Michael Klishin 0d632be85b
3.9.5 release notes 2021-08-27 15:27:57 +03:00
Michael Klishin 3b4b4dc222
Exclude roundtrip definition import cases from mixed version runs
References #3333
2021-08-26 19:10:11 +03:00
Michael Klishin 54f7b6d77c
Re-format two definition import input files 2021-08-26 19:03:14 +03:00
Michael Klishin 42a3dfa81b
Exclude the #3333 test case from mixed version runs 2021-08-26 17:25:07 +03:00
Michal Kuratczyk d3dcd48ea5 Always place exclusive queues on the local node
Prior to this change, exclusive queues have been subject to the queue
location process, just like other queues. Therefore, if
queue_master_locator was not client-local and x-queue-master-locator was
not set to client-local, an exclusive queue was likely to be located on
a different node than the connection it is exclusive to.  This is
suboptimal and may lead to inconsistencies when the queue's node goes
down while the connection's node is still up.
2021-08-26 13:05:55 +02:00
Michael Klishin a809e55dbb
Merge pull request #3333 from rabbitmq/mk-definition-import-of-vhost-with-metadata
Correctly import virtual host metadata
2021-08-24 05:47:51 +03:00
Michael Klishin 2e61f51773
Commit definition import case16 file 2021-08-24 04:41:51 +03:00
Michael Klishin 6f97707dac
Definition import: correctly import vhost metadata 2021-08-24 04:41:04 +03:00
Michael Klishin 28c5f67435
Merge pull request #3332 from rabbitmq/dependabot/github_actions/lewagon/wait-on-check-action-1.0.0
Bump lewagon/wait-on-check-action from 0.2 to 1.0.0
2021-08-23 21:55:32 +03:00
dependabot[bot] 88a8898686
Bump lewagon/wait-on-check-action from 0.2 to 1.0.0
Bumps [lewagon/wait-on-check-action](https://github.com/lewagon/wait-on-check-action) from 0.2 to 1.0.0.
- [Release notes](https://github.com/lewagon/wait-on-check-action/releases)
- [Commits](https://github.com/lewagon/wait-on-check-action/compare/v0.2...1.0.0)

---
updated-dependencies:
- dependency-name: lewagon/wait-on-check-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-23 18:09:46 +00:00
Michael Klishin 6bf4a99f58
Update a mock expectation 2021-08-21 00:53:42 +03:00
Michael Klishin 59ebb83506
rabbitmq_aws: drop trailing dot in some log messages 2021-08-21 00:45:07 +03:00
Bilal Acar 4d96d4099c
Started using function heads 2021-08-21 00:45:07 +03:00
Bilal Acar ca018ef110
Addressing PR comments 2021-08-21 00:45:07 +03:00
Bilal Acar 50f9bcf504
Adding retries to AWS API calls
Adding retries to AWS API calls
2021-08-21 00:45:07 +03:00
Michael Klishin 11760f95bd
Don't run #3319 assertions in mixed version clusters 2021-08-19 23:03:09 +03:00
Michael Klishin 9e13b6f0b4
Merge pull request #3328 from rabbitmq/dependabot/github_actions/erlef/setup-beam-1.9
Bump erlef/setup-beam from 1.8 to 1.9
2021-08-19 22:05:46 +03:00
dependabot[bot] 7e78a211dd
Bump erlef/setup-beam from 1.8 to 1.9
Bumps [erlef/setup-beam](https://github.com/erlef/setup-beam) from 1.8 to 1.9.
- [Release notes](https://github.com/erlef/setup-beam/releases)
- [Commits](https://github.com/erlef/setup-beam/compare/v1.8...v1.9)

---
updated-dependencies:
- dependency-name: erlef/setup-beam
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-19 18:07:27 +00:00
Michael Klishin 416953173d
Merge pull request #3324 from rabbitmq/fix-race-condition-in-connection-channel-tracking-list-function
rabbit_{connection,channel}_tracking: Fix race condition in list()
2021-08-19 18:52:33 +03:00
Jean-Sébastien Pédron 0b1942bdc0
rabbit_{connection,channel}_tracking: Fix race condition in list()
The table might not exist yet (or is already gone) between the time
rabbit_nodes:all_running() runs and returns a specific node, and
mnesia:dirty_match_object() is called for that node's table.

This seems to happen frequently in CI.
2021-08-19 16:45:24 +02:00
Michael Klishin 074a567dfd
Merge pull request #3319 from rabbitmq/mk-http-api-put-vhost-updates-tags-and-description
Make PUT /api/vhosts/{name} update tags and/or description for existing virtual hosts
2021-08-18 21:21:23 +03:00
Michael Klishin f5fe419892
Make PUT /api/vhosts/{name} update tags and/or description 2021-08-18 19:07:25 +03:00
Michael Klishin 44ba27f121
Update 3.9.4.md 2021-08-18 13:40:08 +03:00
Michael Klishin ea75297bf8
Merge pull request #3312 from rabbitmq/alarms-metric1
Expose alarms as Prometheus metrics
2021-08-17 22:16:30 +03:00
Michael Klishin 645a076742
Merge pull request #3311 from rabbitmq/rabbitmq-server-3249
Definition import: allow for arbitrary (and pluggable) sources
2021-08-17 22:16:22 +03:00
Iliia Khaprov 1ea83beadd
Change metric names in release notes too 2021-08-17 20:12:15 +02:00
Michael Klishin 47b20e8f7c
Prometheus: alarm-related metric naming 2021-08-17 20:58:24 +03:00
Michael Klishin 5a580c9f4d
3.9.4 release notes wording 2021-08-17 20:47:20 +03:00
Michael Klishin 6a0058fe7c
Introduce TLS-related rabbitmq.conf settings for definition import
currently only used by the HTTPS mechanism but can be used by
any other.
2021-08-17 20:42:53 +03:00
Ilya Khaprov 9fed915192
Add alarms prometheus collector.
close #2653
2021-08-16 20:32:29 +02:00
Michael Klishin f3a5235408
Refactor definition import to allow for arbitrary sources
The classic local filesystem source is still supported
using the same traditional configuration key, load_definitions.

Configuration schema follows peer discovery in spirit:

 * definitions.import_backend configures the mechanism to use,
   which can be a module provided by a plugin
 * definitions.* keys can be defined by plugins and contain any
   keys a specific mechanism needs

For example, the classic local filesystem source can now be
configured like this:

``` ini
definitions.import_backend = local_filesystem
definitions.local.path = /path/to/definitions.d/definition.json
```

``` ini
definitions.import_backend = https
definitions.https.url = https://hostname/path/to/definitions.json
```

HTTPS may require additional configuration keys related to TLS/x.509
peer verification. Such extra keys will be added as the need for them
becomes evident.

References #3249
2021-08-14 14:53:45 +03:00
Michael Klishin 4e91a96965
Merge pull request #3309 from rabbitmq/mk-3.9.4-release-notes
Initial 3.9.4 release notes
2021-08-13 13:46:53 +03:00
Michael Klishin 71df14c847
Initial 3.9.4 release notes 2021-08-13 13:42:18 +03:00
Michael Klishin 1eacbaac15
Merge pull request #3299 from rabbitmq/add-env-vars-to-set-default-user-pass-vhost-and-erlang-cookie
Add support to override `default_{user,pass,vhost}` and the Erlang cookie from the environment
2021-08-11 23:06:46 +03:00
Michael Klishin 81780dc95e
Log a warning when Erlang cookie is overriden using an env variable
as it can be really difficult to troubleshoot such cookie changes
2021-08-11 20:34:38 +03:00
Jean-Sébastien Pédron f9eda8dfda
Merge pull request #3300 from rabbitmq/comment-why-logging-burst-limit-is-disabled
Logging: Add comments explaining when burst limit is disabled
2021-08-11 17:51:01 +02:00
Jean-Sébastien Pédron d0b7a33a0f
Logging: Add comments explaining when burst limit is disabled
Follow-up to rabbitmq/rabbitmq-server#3298.
2021-08-11 16:56:21 +02:00
Michael Klishin 4e6a297659 Merge pull request #51 from rabbitmq/alebedeff/improve-elixir-lib-dir-detection
Use elixir itself to find its lib directory
2021-08-11 17:11:31 +03:00
Jean-Sébastien Pédron bd39027d68
Add support for $RABBITMQ_ERLANG_COOKIE env var
It is the equivalent of the content of the Erlang cookie file. Note this
variable IS the cookie value, NOT the path to a cookie file.

If it is set, it will take precedence over the content of the Erlang
cookie file.

Fixes docker-library/rabbitmq#508.
2021-08-11 15:50:40 +02:00