summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #2349 from rabbitmq/rabbitmq-server-2321D Corbacho2020-07-1416-84/+887
|\ | | | | Node drain (maintenance mode) operations
| * Correct two minor issues discovered by DialyzerMichael Klishin2020-07-142-11/+9
| |
| * Sync license headers with MPL2 in masterMichael Klishin2020-07-142-25/+7
| |
| * Hide maintenance mode behind a feature flagMichael Klishin2020-07-146-49/+120
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise we'd lose mixed version cluster compatibility. We cannot pre-create a table since it will be checked for existence on cluster peers. We cannot use an upgrade function since it assumes a cluster-wide restart. A feature flag avoids as many headaches as possible and when flags are detected to be compatible on node start, they are all enabled automatically. References #2321.
| * Extract rabbit_networking:stop_ranch_listener_of_protocol/1Michael Klishin2020-07-141-1/+11
| | | | | | | | Part of rabbitmq/rabbitmq-server#2321
| * Be more defensive when computing Ranch ref from protocol nameMichael Klishin2020-07-141-2/+4
| | | | | | | | Part of rabbitmq/rabbitmq-server#2321
| * Report node maintenance status in 'rabbitmq-diagnostics status'Michael Klishin2020-07-142-36/+55
| | | | | | | | Part of rabbitmq/rabbitmq-server#2321
| * Make sure MQTT plugin closes its connections when a node is put into ↵Michael Klishin2020-07-141-0/+12
| | | | | | | | | | | | maintenance mode Part of rabbitmq/rabbitmq-server#2321
| * More integration tests for maintenance modeMichael Klishin2020-07-141-2/+34
| | | | | | | | References #2321
| * More integration tests for maintenance modeMichael Klishin2020-07-141-1/+49
| | | | | | | | References #2321
| * Initial integration tests for maintenance modeMichael Klishin2020-07-142-0/+158
| |
| * Correctly compute local QQ replica/Ra server name when revivingMichael Klishin2020-07-141-6/+8
| | | | | | | | | | | | Part of rabbitmq/rabbitmq-server#2312 Pair: @kjnilsson
| * DittoMichael Klishin2020-07-141-1/+1
| |
| * Strip some trailing whitespaceMichael Klishin2020-07-141-1/+1
| |
| * Node entering maintenance will shut down its local quorum queue replicasMichael Klishin2020-07-142-10/+56
| | | | | | | | | | | | and restart them upon revival. Part of rabbitmq/rabbitmq-server#2321
| * More logging for revival operationsMichael Klishin2020-07-141-0/+3
| |
| * Unify Ranch ref construction for all listenersMichael Klishin2020-07-141-1/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes the refs predictable and easy to compute from a listener record. Then suspending all listeners becomes a lot simpler. While at it, make protocol applications clean up their listeners when they stop. This way tests and other callers that have to stop the app would not need to know anything about its listeners. Part of rabbitmq/rabbitmq-server#2321
| * Maintenance mode: transfer leadership (primary replicas) of local CMQsMichael Klishin2020-07-142-10/+68
| | | | | | | | Part of rabbitmq/rabbitmq#2321
| * Introduce rabbit_maintenance:{drain,revive}/0Michael Klishin2020-07-143-13/+65
| | | | | | | | Part of #2321.
| * TyposMichael Klishin2020-07-141-2/+3
| |
| * Integrate node maintenance information into queue master locatorsMichael Klishin2020-07-147-27/+130
| | | | | | | | | | | | | | | | | | | | For cases where no node is eligible we use the local node. This should only be possible during a brief window of time before a node that's been drained drops its connections. However, be benign and optimistically let the queue operation proceed. Part of rabbitmq/rabbitmq-server#2321
| * Initial API bits for marking a node as being drained (or not)Michael Klishin2020-07-144-17/+68
| | | | | | | | Part of #2321.
| * Add a table for tracking node maintenance/draining stateMichael Klishin2020-07-142-1/+20
| |
| * rabbit_maintenance: simplify return values of listener suspension functionsMichael Klishin2020-07-141-16/+27
| |
| * Introduce rabbit_maintenance:{suspend,resume}_all_client_listeners/2Michael Klishin2020-07-141-6/+33
| | | | | | | | References #2321
| * Extract a function that computes Ranch listener referencesMichael Klishin2020-07-142-8/+17
| |
| * tcp_listener_sup: use maps for supervisor flags and child specMichael Klishin2020-07-142-13/+18
| |
| * Introduce rabbit_networking:node_client_listeners/1Michael Klishin2020-07-142-1/+56
|/
* Merge pull request #2406 from rabbitmq/rabbitmq-server-2405Michael Klishin2020-07-122-3/+12
|\ | | | | Move networking boot step to end of startup
| * Log a message when listeners are about to be startedMichael Klishin2020-07-122-0/+2
| |
| * Move networking boot step to end of startupLuke Bakken2020-07-091-3/+10
| | | | | | | | | | | | | | This allows plugins to configure network listener settings and have those settings apply to all listeners when started. Fixes #2405
* | Merge pull request #2408 from rabbitmq/switch-to-MPL-2.0Michael Klishin2020-07-10275-3737/+1197
|\ \ | | | | | | Switch to Mozilla Public License 2.0 (MPL 2.0)
| * | Switch to Mozilla Public License 2.0 (MPL 2.0)dcorbacho2020-07-10275-3737/+1197
|/ /
* | Correct a comment typoMichael Klishin2020-07-101-2/+2
|/
* Merge pull request #2401 from rabbitmq/redirect-logger-msgs-to-lagerGerhard Lazu2020-07-081-0/+6
|\ | | | | rabbit_prelaunch_early_logging: Configure `rabbit_log` as a Logger handler
| * rabbit_prelaunch_early_logging: Configure `rabbit_log` as a Logger handlerJean-Sébastien Pédron2020-07-061-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, when the new Logger API exposed by Erlang is being used by an application, messages are lost once Lager is configured. That is because Lager does not know about Logger in this context. To fix this, `rabbit_log` is configured as a Logger handler which calls Lager API. This means that Logger messages are passed to Lager. Logger's log level is to set to pass all messages (including debug). Message routing/filtering is done by Lager instead. This change depends on new log/2 function being added to the `rabbit_log` module in rabbitmq-common.
* | Merge pull request #2402 from rabbitmq/metrics-flakinessMichael Klishin2020-07-071-1/+5
|\ \ | |/ |/| Attempt to further de-flake metrics/connection_metric_idemp_test
| * Attempt to further de-flake metrics/connection_metric_idemp_testPhilip Kuryloski2020-07-061-1/+5
|/ | | | | Wait until the connection_metrics report the new connections, before triggering the idempotent action under which they should stay stable.
* Increase timeout in dynamic_ha:nodes_policy_should_pick_master_from_its_paramsPhilip Kuryloski2020-07-061-1/+1
| | | | | | This test still flakes occassionally even with the dynamic wait. The original five second timeout might have been a bit short, as this test takes around 70-90 seconds when successful, so I'm bumping the timeout to 10s to see if it helps.
* One more definition export/import roundtrip caseMichael Klishin2020-07-031-3/+29
|
* Merge pull request #2400 from ↵Michael Klishin2020-07-032-29/+47
|\ | | | | | | | | rabbitmq/mk-resurrect-runtime-parameter-values-as-maps Definition import: pre-format more values as maps where possible
| * Speed up definition import testsMichael Klishin2020-07-031-25/+18
| | | | | | | | | | by avoiding distribution name/port conflicts that do resolve themselves but only after a timeout.
| * rabbit_definitions: format exchange, queue and binding arguments the same ↵Michael Klishin2020-07-032-11/+36
| | | | | | | | | | | | | | way HTTP API would this makes them JSON serialisation-safe without any post-processing of the returned data structure.
| * Revert 460a432ddb2337dad6a7ca350497a8e2aee5063fMichael Klishin2020-07-031-1/+1
|/ | | | | | Definition import should be able to cope with maps. We should move away from using proplists to the extent practically possible, and definition import is one area where we should be able to do that.
* synchronized -> synchronisedPhilip Kuryloski2020-07-021-1/+1
|
* Temporarily switch back an unfortunate atomPhilip Kuryloski2020-07-021-2/+5
| | | | the value was changed in test, but not at its source
* Merge pull request #2399 from ↵Michael Klishin2020-07-012-2/+12
|\ | | | | | | | | rabbitmq/mk-check-if-node-is-mirror-sync-critical-should-ignore-exclusive-queues Exclude exclusive queues from list_local_mirrored_classic_without_synchronised_mirrors
| * list_with_minimum_quorum_for_cli: convert readable names to binariesMichael Klishin2020-07-011-1/+1
| | | | | | | | | | | | so that CLI tools don't have to do any post-processing. References rabbitmq/rabbitmq-cli#432.
| * Exclude exclusive queues from ↵Michael Klishin2020-07-011-1/+11
| | | | | | | | | | | | | | | | list_local_mirrored_classic_without_synchronised_mirrors as they are not actually mirrored. References rabbitmq/rabbitmq-cli#432.
* | Merge pull request #2352 from rabbitmq/honeycombPhilip Kuryloski2020-07-014-714/+4610
|\ \ | |/ |/| Add honeycomb integration for tests