summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* rabbit_feature_flags: Prevent load of the module on pre-feature-flags nodesJean-Sébastien Pédron2019-10-111-17/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | In a cluster, if e.g. RabbitMQ 3.7.17 packages are deployed on all cluster member, but the nodes are not restarted yet, the first node to restart will fail. This might happen if the timing is unfortunate during a parallel upgrade of a cluster: nodes A and B files were updated, and node A finishes to restart while node B is still between the files update and the post-install script. The reason is that the `rabbit_feature_flags` module is available on all nodes after the package deployment. However, the module may be loaded in a pre-feature-flags already running node. In this unexpected context, the module fails to respond properly to the queries of the remote restarting node. To fix this, we use an `on_load()` hook to prevent this module from being loaded by the Erlang code server if the context is unexpected. This will cause the query to abort with an undefined function call, exactly like if the module was really missing. Outside of a running RabbitMQ instance, the load of the module is permitted. This is useful in the case of running EUnit tests for instance (even though this specific module doesn't have any). The previous patch was an early version to verify the hypothesis only. Fixes #2132. [#169086629]
* quorum_queue_SUITE: Use rabbit_ct_broker_helpers:stop_node/2Jean-Sébastien Pédron2019-10-111-1/+1
| | | | | | | | | ... instead of `rabbitmqctl stop` in `simple_confirm_availability_on_leader_change` testcase. The problem with the latter is that it doesn't wait for the broker to actually stop. Therefore we end up with an error when we try to restart it after because the previous instance is still running.
* rabbit_feature_flags: define on_load/1 in non-test environmentsMichael Klishin2019-10-081-18/+17
| | | | References #2133.
* More #2133-related wording changesMichael Klishin2019-10-081-1/+1
|
* Improve on #2133 wording a bitMichael Klishin2019-10-081-4/+3
|
* rabbit_feature_flags:on_load/1: EUnit test env compatibilityMichael Klishin2019-10-081-5/+12
| | | | | | | rabbit.feature_flags_file would not be set in an EUnit test environment, so proceed with code loading if eunit is loaded. References #2133.
* Merge branch 'prevent-rabbit_feature_flags-load-on-old-node'Michael Klishin2019-10-081-7/+24
|\
| * rabbit_feature_flags: Prevent load of the module on pre-feature-flags nodesJean-Sébastien Pédron2019-10-071-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In a cluster, if e.g. RabbitMQ 3.7.17 packages are deployed on all cluster member, but the nodes are not restarted yet, the first node to restart will fail. The reason is that the `rabbit_feature_flags` module is available on all nodes after the package deployment. However, the module may be loaded in a pre-feature-flags already running node. In this unexpected context, the module fails to respond properly to the queries of the remote restarting node. To fix this, we use an `on_lod()` hook to prevent this module from being loaded by the Erlang code server if the context is unexpected. This will cause the query to abort with an undefined function call, exactly like if the module was missing. Fixes #2132.
| * rabbit_feature_flags: Improve comments around 3.7.x pre-feature-flags nodesJean-Sébastien Pédron2019-10-071-7/+10
| |
* | Merge pull request #2133 from rabbitmq/check-certificatesMichael Klishin2019-10-081-0/+27
|\ \ | |/ |/| Doc: man pages for certificate commands
| * Clarify that the certificate commands are node-localMichael Klishin2019-10-081-2/+2
| |
| * Doc: man pages for certificate commandsdcorbacho2019-10-081-0/+27
|/ | | | [#163597674]
* Merge pull request #2131 from rabbitmq/rabbitmq-server-2130Michael Klishin2019-10-031-1/+18
|\ | | | | Error handling improvements in rabbit_epmd_monitor:check_epmd/1
| * Format host atoms as stringsLuke Bakken2019-10-031-2/+2
| |
| * Error handling improvements in rabbit_epmd_monitor:check_epmd/1Michael Klishin2019-10-031-1/+18
|/ | | | | | | | To produce less noise and more informative messages. This also introduces a function that allows for manual check triggering. Closes #2130.
* Minor README updatesMichael Klishin2019-10-022-4/+5
|
* README-for-packages: more doc linksMichael Klishin2019-10-021-6/+12
|
* README-for-packages: updates for 3.8Michael Klishin2019-10-021-4/+4
|
* Merge pull request #2127 from luos/fix_healthcheck_partition_resultMichael Klishin2019-09-301-2/+5
|\ | | | | fix health check returning ok in case of partition
| * fix health check returning ok in case of partitionLajos Gerecs2019-09-301-2/+5
|/ | | | | | | Health check assumed if the result of partitions() is a list then everything is ok, this is not the case the result is always a list. rabbit_node_monitor:partitions() returns a non empty list in case there is an mnesia_partition.
* Fix typokjnilsson2019-09-301-2/+2
| | | | That would cause the wrong commands to be resent by the channel.
* Merge pull request #2126 from rabbitmq/ac-polish-manpagesMichael Klishin2019-09-302-26/+18
|\ | | | | rabbitmqctl & rabbitmq-diagnostics manpage polishing
| * Put parameter management description in the right placeArnaud Cogoluègnes2019-09-301-22/+14
| | | | | | | | In rabbitmqctl manpage.
| * Minor fixes and polishing in rabbitmq-diagnostics manpageArnaud Cogoluègnes2019-09-301-4/+4
|/
* A follow-up to 7e2021c588784c2c190f3318b94344cb048d3e68Michael Klishin2019-09-291-1/+3
|
* Clearer log message when peer discovery yields an empty listMichael Klishin2019-09-291-1/+1
| | | | | | | | | | | | With some backends, namely Kubernetes, a set of nodes can be discovered but then filtered out as ineligible. For example, a node whose pod is not yet ready would not be considered for clustering. Hopefully it would reduce the frequency of questions such as [1][2]. 1. https://groups.google.com/forum/#!msg/rabbitmq-users/tm3Ip0mXXjs/WCOm3z_fAAAJ 2. https://github.com/rabbitmq/rabbitmq-peer-discovery-k8s/issues/52
* man pages: bump revision datesMichael Klishin2019-09-289-9/+9
|
* Merge pull request #2123 from rabbitmq/ctl-diagnostics-docs-updateMichael Klishin2019-09-282-1229/+1616
|\ | | | | Man pages: add missing diagnostics and ctl commands
| * More rabbitmqctl(8) editsMichael Klishin2019-09-281-42/+40
| |
| * rabbitmqctl(8): eliminate all man(1) warningsMichael Klishin2019-09-281-99/+99
| | | | | | | | | | Corrects indentation and formatting in the process. The warnings turned out to be legit and relevant.
| * rabbitmqctl(8): drop some misplaced .Oc macrosMichael Klishin2019-09-281-6/+24
| |
| * rabbitmqctl(8): correct a number of formatting issuesMichael Klishin2019-09-281-116/+135
| |
| * rabbitmqctl(8): add a few missing .BlsMichael Klishin2019-09-271-0/+11
| |
| * rabbitmqctl(8): remove some extraneous .ElsMichael Klishin2019-09-271-12/+0
| |
| * rabbitmq-diagnostics(8): correct fomatting of optional argsMichael Klishin2019-09-271-22/+23
| |
| * Docs: man formattingdcorbacho2019-09-272-57/+121
| | | | | | | | [#168775486]
| * Remove extra .El macrosMichael Klishin2019-09-271-6/+0
| |
| * Docs: add missing diagnostics and ctl commandsdcorbacho2019-09-262-1143/+1437
|/ | | | [#168775486]
* rabbitmq-queues(8): formattingMichael Klishin2019-09-261-11/+12
|
* rabbitmq-queues(8): use list formatting suggested by @dumbbellMichael Klishin2019-09-261-10/+14
|
* More rabbitmq-queues(8) man page editsMichael Klishin2019-09-261-1/+19
|
* Cross-linking for newly added man pagesMichael Klishin2019-09-268-5/+53
|
* quorum-queues(8): list arguments, add examples, wordingMichael Klishin2019-09-261-12/+31
|
* rabbitmq-queues(8): document rebalance command argsMichael Klishin2019-09-251-1/+5
|
* Merge pull request #2121 from rabbitmq/cli-docs-updateMichael Klishin2019-09-253-0/+258
|\ | | | | New man pages for rabbitmq-upgrade and rabbitmq-queues
| * New man pages for rabbitmq-upgrade and rabbitmq-queuesdcorbacho2019-09-253-0/+258
| | | | | | | | * Updates to rabbitmq-diagnostics
* | More startup banner tweaks suggested by @gerhardMichael Klishin2019-09-251-7/+10
|/
* Merge pull request #2119 from rabbitmq/queue-rate-fixMichael Klishin2019-09-251-3/+3
|\ | | | | Fix regression where queue exchange rates were too high
| * Fix regression where queue exchange rates were too highkjnilsson2019-09-251-3/+3
| | | | | | | | | | | | | | | | | | Prior to 3.8 only the queue masters were tracked in the queue_names map inside the channel and these were used to filter the increments of this metric. Here we instead use the list of routed amqqueue records to update which should be correct for all queue types. [#168729890]
* | Merge pull request #2120 from rabbitmq/startup-banner-improvementsArnaud Cogoluègnes2019-09-253-20/+36
|\ \ | |/ |/| Startup banner improvements