summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* rabbit_feature_flags: Fix type specsJean-Sébastien Pédron2020-05-111-1/+6
| | | | Reported by Dialyzer.
* rabbit_definitions: Use maps:update_with/4 directlyJean-Sébastien Pédron2020-05-111-14/+1
| | | | | | | ... instead of using a copy of the function from Erlang 20. This is possible because the requirement was bumped to Erlang 21. Reported by Dialyzer.
* rabbit_connection_tracking: Disable `race_conditions` check for ↵Jean-Sébastien Pédron2020-05-111-0/+1
| | | | | | | | | | register_connection/1 There is a race condition reported by Dialyzer because do a read/write outside of a Mnesia transaction. Historically there was a transaction, but it was removed in commit e5df4e6ee105900087744ed40e58b8041738b9cd.
* rabbit_auth_backend_internal: Removed never used case clauseJean-Sébastien Pédron2020-05-111-4/+0
| | | | | | | | | ... in put_user/3. If the ets call behind `lookup_user/1` fails for another reason than the entry was not found, it would be an exception anyway. Reported by Dialyzer.
* rabbit_amqqueue: Fix spec of ↵Jean-Sébastien Pédron2020-05-111-2/+4
| | | | | | | | list_local_mirrored_classic_without_synchronised_mirrors_for_cli/0 The return value was incorrectly spec'd. Reported by Dialyzer.
* GitHub Actions: Regen workflowsJean-Sébastien Pédron2020-05-072-176/+176
|
* upgrade_preparation_SUITE: Skip test if quorum queues are unsupportedJean-Sébastien Pédron2020-05-071-1/+5
|
* GitHub Actions: Regen workflowsJean-Sébastien Pédron2020-05-072-182/+4604
|
* Restrict build badges to specific branchGerhard Lazu2020-05-041-2/+2
| | | | | | | Otherwise they will show as failing if the latest build failed, even when this build ran on a different branch. Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
* Merge pull request #2334 from rabbitmq/change-quorum-defaultsMichael Klishin2020-05-015-6/+7
|\ | | | | Changed default configuration values related to quorum queues
| * Changed or overridden default configuration values related to quorum queuesVanlightly2020-05-015-6/+7
| | | | | | | | | | | | Specifically: - changed default quorum_commands_soft_limit from 256 to 32 - override Ra wal_max_batch_size to 4096
* | Trigger tests on new-commit-to-dep-release-branch repository eventsGerhard Lazu2020-05-012-2/+10
|/ | | | Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
* Fix README build badgesGerhard Lazu2020-04-301-2/+2
| | | | Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
* Merge pull request #2326 from rabbitmq/improve-product_info-apiGerhard Lazu2020-04-301-42/+79
|\ | | | | Improve handling of product name & version
| * rabbit: Include base product name & version in "Starting" logged messageJean-Sébastien Pédron2020-04-301-3/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the product name & version are not overridden, the common logged message is the following one: 2020-04-24 15:08:51.754 [info] <0.263.0> Starting RabbitMQ 3.8.0+rc.1.278.g5cdf562.dirty on Erlang 21.3.8.13 Copyright (c) 2007-2020 VMware, Inc. or its affiliates. Licensed under the MPL 1.1. Website: https://rabbitmq.com Now, when the product name or version are overridden, the "Starting" line mentions them. There is a second line added with the base product name & version: 2020-04-24 15:08:51.754 [info] <0.263.0> Starting RabbitMQ Enterprise Edition 2020.04 on Erlang 21.3.8.13 Based on RabbitMQ 3.8.0+rc.1.278.g5cdf562.dirty Copyright (c) 2007-2020 VMware, Inc. or its affiliates. Licensed under the MPL 1.1. Website: https://rabbitmq.com
| * rabbit: Report base and overridden product info separatelyJean-Sébastien Pédron2020-04-301-39/+65
|/ | | | | | | | | | | | | | | | | | | | | | | | | Now, `rabbit:product_info/0` will report the base name & version ("RabbitMQ" and its actual version) separately from the final product name & version (if any). If the product name & version were not overridden in the configuration or the environment, they will be missing from the product info return value. It allows caller to distinguish situations where the product name & version were set or not. An example use case is `rabbitmqctl status`: we want to report the product name & version only if they were overridden. If they were not, the "Product name" and "Product version" won't be added to the output. Only "RabbitMQ version" will be displayed. To help with the above, the map returned by `rabbit:product_info/0` also contains a flag, `product_overridden`, set to true if they were. Finally, the RabbitMQ version is often associated with the Erlang/OTP release. So include this into the returned map. This will save an additional RPC call if the remote caller is interested in both.
* Revert "Merge pull request #2325 from ↵Luke Bakken2020-04-301-40/+8
| | | | | | | rabbitmq/revert-rabbitmq-server-2308-dead_queue_rejects" This reverts commit 55d28f5ad3ad3a47791989bd118c6d8ce954eeca, reversing changes made to 0bf8d0841c2467b93ab849f4f53a7bc99ab854e7.
* GitHub Actions: Regen workflowsJean-Sébastien Pédron2020-04-302-178/+1064
|
* Merge pull request #2332 from rabbitmq/lrb-handle-closed-from-port_pleaseMichael Klishin2020-04-301-34/+22
|\ | | | | Handle "closed" return value
| * Handle "closed" return valueLuke Bakken2020-04-291-34/+22
| | | | | | | | | | | | | | | | Turns out `port_please/2` and `port_please/3` can return `closed` - https://github.com/erlang/otp/pull/2616 We need to handle it here. First reported via RabbitMQ public slack channel - https://rabbitmq.slack.com/archives/C1EDN83PA/p1588166195464400
* | Use a 2 minute timeout when renaming nodes in cluster_rename_SUITEPhilip Kuryloski2020-04-291-1/+1
|/ | | | This suite has been flaky, but it only fails with a timeout trap on the whole test. By setting a timeout for invidual rabbitmqctl commands, it should be easier to discern in a flake where things got stalled.
* Express connection count assertion more generallyPhilip Kuryloski2020-04-281-3/+4
| | | | | | So that more information is available in the logs upon test failure https://3.basecamp.com/4467044/buckets/16481075/todos/2619089282
* Merge pull request #2331 from rabbitmq/mk-remove-outdated-commentMichael Klishin2020-04-281-2/+0
|\ | | | | Remove an outdated comment
| * Remove an outdated commentmk-remove-outdated-commentMichael Klishin2020-04-281-2/+0
| |
* | GitHub Actions: Regen workflowsJean-Sébastien Pédron2020-04-282-0/+2
| |
* | Merge pull request #2330 from rabbitmq/qq-delivery-limit-bugMichael Klishin2020-04-282-7/+34
|\ \ | |/ |/| QQ: Fix crash bug when reaching delivery limit
| * QQ: Fix crash bug when reaching delivery limitkjnilsson2020-04-282-7/+34
| | | | | | | | | | | | This only happens when using basic.get but would crash the quorum queue when the delivery limit was reached due to the transient basic.get consumer being removed
* | GitHub Actions: Regen workflowsJean-Sébastien Pédron2020-04-271-2/+2
| |
* | Merge pull request #2325 from ↵Jean-Sébastien Pédron2020-04-271-8/+40
|\ \ | | | | | | | | | | | | rabbitmq/revert-rabbitmq-server-2308-dead_queue_rejects Revert "Remove dead_queue_rejects test flake"
| * | Revert "Remove dead_queue_rejects test flake"Luke Bakken2020-04-231-8/+40
| | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 9772aa8f8256a410bcc13ae5038f949ffe1d5b84. Check RPC return value Try a cast to fix test
* | | GitHub Actions: Regen workflowsJean-Sébastien Pédron2020-04-272-2/+2
| | |
* | | GitHub Actions: Generate workflows using `make github-actions`Jean-Sébastien Pédron2020-04-273-419/+374
| | |
* | | Git: Ignore rabbitmq-deps.mk fileJean-Sébastien Pédron2020-04-271-1/+1
| | |
* | | Don't cache app modulesGerhard Lazu2020-04-252-1102/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | @dumbbell copy paste: When we re-run a workflow, the `ebin` cache, created by the initial run, is restored in `checks`. This causes rabbitmq_prelaunch to be cleaned when we run `make xref` and thus the make target fails. This is probably a bug in Erlang.mk or one of our plugins,but in the meantime, I suggest we don't cache this directory. Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
* | | Use shields.io for better badgesGerhard Lazu2020-04-251-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove the Travis CI build badge - it links to a build which is less comprehensive than the new GitHub Actions builds. We are likely to remove Travis completely, but would like to do that after we discuss it. cc @dumbbell Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
* | | Shorten text on build badgesGerhard Lazu2020-04-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Triggering another build and busting the deps & ebin app modules cache, because it makes no sense for xref to pass in OTP v22.3 but fail in OTP v21.3 - it's the same src! https://github.com/rabbitmq/rabbitmq-server/actions/runs/86189793 cc @dumbbell Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
* | | rabbit_runtime_parameters:set_globa/3: add debug loggingMichael Klishin2020-04-241-0/+1
|/ /
* | Merge pull request #2277 from ↵Gerhard Lazu2020-04-232-117/+25
|\ \ | | | | | | | | | | | | rabbitmq/always-handle-config-files-with-cuttlefish Always handle config files with Cuttlefish
| * | rabbit_config: Deprecate schema_dir/0Jean-Sébastien Pédron2020-04-231-9/+4
| | | | | | | | | | | | | | | | | | It is unused in RabbitMQ or tier-1 plugins, and the previously returned value made no sense since the switch to Cuttlefish as a library (as part of #2180).
| * | rabbit_prelaunch_conf: Always handle config. files with CuttlefishJean-Sébastien Pédron2020-04-232-108/+21
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This has several benefits: 1. It simplifies the code, all configuration being handled by the same code path (no more condition on Erlang-term-based vs. Cuttlefish). `rabbit_config` shrinks quite a lot in the process. 2. We can use additional configuration files AND an Erlang-term-based configuration file. In other words, it is possible to use the same existing Erlang-term-based file and introduce Cuttlefish files when needed. It allows a user to run RabbitMQ with: RABBITMQ_CONFIG_FILE=/path/to/rabbitmq.config \ RABBITMQ_CONFIG_FILES=/path/to/conf.d/*.conf \ ./sbin/rabbitmq-server A developer can do the same with `make run-broker`: make run-broker \ RABBITMQ_CONFIG_FILES=/path/to/conf.d/*.conf In the example above, the main configuration file generated by rabbitmq-run.mk is an Erlang-term-based one. This is implemented by calling Cuttlefish with a (possibly empty) list of additional files and the Erlang-term-based file as the advanced configuration file. References #2180.
* | Merge pull request #2323 from rabbitmq/rabbitmq-server-2322Michael Klishin2020-04-221-12/+21
|\ \ | | | | | | Run both authn and authz steps when rabbit_auth_backend_cache module …
| * | Run both authn and authz steps when rabbit_auth_backend_cache module is usedLuke Bakken2020-04-221-12/+21
| | | | | | | | | | | | Fixes #2322
* | | Fix GitHub Actions workflow badgesGerhard Lazu2020-04-221-1/+2
| | | | | | | | | | | | Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
* | | Merge pull request #2270 from rabbitmq/github-actionsGerhard Lazu2020-04-226-10/+7820
|\ \ \ | |_|/ |/| | Run checks & tests in GitHub Actions on every push
| * | Run checks & tests in GitHub Actions on every pushGerhard Lazu2020-04-226-10/+7820
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Separate workflows for min & max supported OTP version - Multiple groups for clustering_management (run in parallel & finish quicker) - Store CT logs as artefacts on failure - Tests badge in README - Store in S3 the version of the RabbitMQ components used while testing We have decided to not not run tests for RabbitMQ components that we depend on: rabbitmq-cli, rabbitmq-erlang-client & rabbitmq-common. rabbitmq-cli & rabbitmq-erlang-client depend on rabbitmq-server (recursive dependency) meaning that they will clone rabbitmq-server again, inside the deps dir. We will continue to run these in Concourse, until we merge all repositories into a single one. Let's be honest, it's a monolith! Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
* | Merge pull request #2320 from rabbitmq/rabbitmq-cli-408Michael Klishin2020-04-222-0/+174
|\ \ | |/ |/| Introduce rabbit_upgrade_preparation
| * Introduce rabbit_upgrade_preparationMichael Klishin2020-04-212-0/+174
| | | | | | | | Part of rabbitmq/rabbitmq-cli#408.
* | Update erlang.mkJean-Sébastien Pédron2020-04-211-16/+43
| |
* | Attempt to make unit_log_managment_SUITE less flakyPhilip Kuryloski2020-04-212-14/+27
| | | | | | | | | | | | | | | | | | | | Rather than wait a fixed 2000ms, poll the test condition for up to 5000ms. Also switch from a raw message send in rabbit.erl to a gen_event:call/4 to the lager backend. I had hoped this would behave synchronously, which it does not appear to, but at least we now get a value back from the call.
* | Merge pull request #2315 from rabbitmq/use-new-inet_tcp_proxy_distJean-Sébastien Pédron2020-04-214-22/+17
|\ \ | | | | | | Use new `inet_tcp_proxy_dist`