summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* rabbit_fifo: propery tests for single active consumerkjnilsson2019-03-202-26/+324
| | | | | | | To test send_msg ordering and ensure there never two active consumers at once. [#164691411]
* rabbit_fifo: Ensure checkout is performedkjnilsson2019-03-182-29/+42
| | | | After a down command is processed
* rabbit_fifo bugfixeskjnilsson2019-03-183-112/+185
| | | | | | | Bugfixes around noconnect consumer handling as well as refactoring to make these kinds of errors less likely. [#164691411]
* Merge pull request #1918 from rabbitmq/list-queue-typeMichael Klishin2019-03-183-0/+3
|\ | | | | Add queue type to queue listing commands
| * Add queue type to queue listing commandsDiana Corbacho2019-03-153-0/+3
| | | | | | | | [#163984879]
* | Type spec: amqqueue:get_policy/1 returns a proplistMichael Klishin2019-03-151-1/+1
|/ | | | Spotted while dialyzing Federation plugin.
* Update rabbitmq-components.mkMichael Klishin2019-03-151-1/+1
|
* Update rabbitmq-components.mkMichael Klishin2019-03-151-1/+1
|
* Merge pull request #1912 from ↵Michael Klishin2019-03-151-13/+22
|\ | | | | | | | | rabbitmq/bump-lager-high-watermark-if-level-is-debug rabbit_lager: Multiply high watermark by 100 when log level is debug
| * Add check for integer valueLuke Bakken2019-03-131-1/+1
| |
| * rabbit_lager: Multiply high watermark by 100 when log level is debugJean-Sébastien Pédron2019-03-131-12/+21
| | | | | | | | Otherwise debug messages are quickly dropped by Lager.
* | Merge pull request #1913 from rabbitmq/rabbitmq-server-1869Michael Klishin2019-03-153-27/+42
|\ \ | | | | | | Move TCP and TLS listener startup to the last boot step "stage"
| * | Log boot steps as they runMichael Klishin2019-03-131-5/+12
| | |
| * | Treat rabbit_direct boot step as enabling listenersMichael Klishin2019-03-131-6/+6
| | | | | | | | | | | | | | | | | | | | | Since it makes direct Erlang client connections possible. References #1689.
| * | Undo recovery step dependencyMichael Klishin2019-03-131-1/+1
| | | | | | | | | | | | | | | Requires more extensive review and out of scope for #1869.
| * | Start TCP and TLS listeners later in boot processMichael Klishin2019-03-131-17/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | See #1869 for background. This makes listener startup and peer notification to be some of the last boot steps. This way client operations on a node that's not 100% initialised are less likely. Since some parts of boot process happen concurrently, without coordinating all of them with listener startup this is not something that can be guaranteed. Moving listener startup to a later stage reduces the probability of clients attempting operations on a booting node.
| * | Drive-by change: cosmeticsMichael Klishin2019-03-131-2/+1
| |/
* | Fix snapshot bug in rabbit_fifokjnilsson2019-03-142-5/+31
| | | | | | | | | | | | The waiting_consumers were not being "dehydrated" causing snapshots to potentially contain message bodies causing occasional test failures in the snapshots property tests.
* | Merge branch 'thedrow-patch-1'Michael Klishin2019-03-141-2/+10
|\ \ | |/ |/| | | Closes #1914.
| * Simplify further with a macro, suggested by @dumbbellMichael Klishin2019-03-141-2/+4
| |
| * rabbit_auth_mechanism_amqplain: refactor, improve error messageMichael Klishin2019-03-141-11/+8
| |
| * Allow shortstr in AMQPlain authentication methodOmer Katz2019-03-141-0/+9
|/ | | Fixes #1914.
* Merge pull request #1910 from spring-operator/polish-urls-build-masterMichael Klishin2019-03-126-6/+6
|\ | | | | URL Cleanup
| * URL CleanupSpring Operator2019-03-126-6/+6
|/ | | | | | | | | | | | This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener). # Fixed URLs ## Fixed Success These URLs were switched to an https URL with a 2xx status. While the status was successful, your review is still recommended. * http://www.mozilla.org/MPL/ migrated to: https://www.mozilla.org/MPL/ ([https](https://www.mozilla.org/MPL/) result 301).
* rabbit_fifo_prop_SUITE: `fake_pid` was removedv3.8.0-beta.3Jean-Sébastien Pédron2019-03-041-2/+1
| | | | ... in commit 3b0adfda40edf59496ff9f6d994a11c27971a3f5.
* Merge pull request #1903 from rabbitmq/single-active-noconnectionMichael Klishin2019-03-018-199/+438
|\ | | | | rabbit_fifo: change single active consumer on noconnection
| * Remove a helper test erlc considers unused, per discussion with @kjnilssonMichael Klishin2019-03-011-11/+0
| |
| * Emit inactive when no consumer can be activatedkjnilsson2019-03-012-2/+2
| |
| * Tweak qourum queue tick interval for testskjnilsson2019-03-013-5/+10
| | | | | | | | | | | | | | | | | | As some tests use metrics to assert on and quorum queues only emit metrics every 5s by default. This change takes it down to 1s for selected suites. It also introduces a new `quorum_tick_interval` application parameter to set this interval.
| * Merge branch 'master' into single-active-noconnectionMichael Klishin2019-02-282-7/+23
| |\
| * | Ensure waiting consumers can receive creditkjnilsson2019-02-282-2/+50
| | | | | | | | | | | | | | | | | | | | | Else they may never be able to do any processing when they get promoted to active and AMQP 1.0 is used. [#164135123]
| * | rabbit_fifo: cancel should not remove single active consumerkjnilsson2019-02-273-24/+88
| | | | | | | | | | | | | | | | | | | | | | | | This change keeps a cancelled single active consumer in the consuemrs map but with the cancelled status allowing another consumer to take over as the active one. [#164135123]
| * | rabbit_fifo: change single active consumer on noconnectionkjnilsson2019-02-275-191/+324
| | | | | | | | | | | | | | | | | | To ensure availability and progress when a node gets disconnected. [#164135123]
* | | Feature flags: Handle plugins' feature flags only present on some nodesJean-Sébastien Pédron2019-03-0111-185/+1276
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this patch, when a node had a plugin which provided a feature flag, that node could not join a cluster because the other nodes didn't know about that plugin's feature flag. This was the same problem when an operator enabled a plugin present on some nodes (but not all) in a cluster and then wanted to enable the plugin's feature flags. This situation is fixed by paying attention to the Erlang applications (plugins) providing each feature flag, when we want to determine if two nodes are compatible. To achieve this and still maintain the same view & state on all nodes, when a node (re)joins a cluster, all feature flags from both sides are exchanged: if a feature flag on one side is provided by an application which is missing on the other side, that feature flag is added to the latter's registry. After this exchange, we proceed with the regular compatibility check. Therefore, feature flags provided by unknown applications are supported everywhere and thus won't interfere. Also in this patch is a fix of the registry generation: the way feature flag states were handled was incorrect: reinitializing the registry could loose states because `initialize_registry/3` would take the complete list of enabled feature flags. Now it is transformed to take a "diff": a map indicating which feature flags are enabled/disabled or marked as `state_changing`. We now store a map of those states inside the registry. One change of behavior with this patch is: feature flags are enabled by default only if it is a virgin node (it is the first time it starts or it was reset), even if it is a single non-clustered node. Finally, the testsuite for feature flags was expanded to cover various clustering and plugin activation situations. [#163796129]
* | | rabbit_ff_extra: Honor the `UseColors` flagJean-Sébastien Pédron2019-03-011-25/+30
| | | | | | | | | | | | | | | | | | Use the new `rabbit_pretty_stdout:ascii_color/2` helper for that. `isatty/0` is moved to `rabbit_pretty_stdout`.
* | | Makefile: Add `feature_flags_SUITE` to the slow testsuitesJean-Sébastien Pédron2019-03-011-0/+1
| | |
* | | Merge pull request #1900 from rabbitmq/binding-lock-optimisationMichael Klishin2019-02-281-10/+8
|\ \ \ | |_|/ |/| | Less coarse-grained locking for bindings add/remove operations
| * | Less aggressive locking for bindings add/reomve.Daniil Fedotov2019-02-261-10/+8
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | All binding operations aquire special locks for destination and source. This is done to make sure bindings cannot be added or removed while being cleaned up. This means that adding and removing bindings for the same records may conflict. To avoid conflict the locks aquired during add/remove are now read locks. This should improve performance in case of concurrent bindings creation for the same resource.
* | rabbit_fifo_SUITE: Fix include of `rabbit_fifo.hrl`Jean-Sébastien Pédron2019-02-281-1/+1
| | | | | | | | | | | | | | | | | | | | We cannot use `-include_lib()` here because we are inside the application. It happened to work by chance because we use the Umbrella to work on all projects, so rabbitmq-server is also inside `DEPS_DIR`. But when the project is tested outside of the Umbrella, the testsuite failed to compile.
* | Merge pull request #1902 from rabbitmq/rabbitmq-server-1901Michael Klishin2019-02-281-6/+22
|\ \ | |/ |/| Ensure resources are cleaned up when connection socket is closed before Ranch handshake completes
| * Handle error triples, improve loggingMichael Klishin2019-02-271-6/+16
| |
| * Ensure resources are cleaned upLuke Bakken2019-02-271-4/+10
|/ | | | Fixes #1901
* Merge pull request #1889 from rabbitmq/poison-handling-qqMichael Klishin2019-02-269-2213/+2383
|\ | | | | Poison handling in quorum queues
| * These tests use CT nowMichael Klishin2019-02-261-2/+0
| |
| * NamingMichael Klishin2019-02-261-17/+17
| |
| * Introduce new dlx reason for delivery limitkjnilsson2019-02-252-3/+4
| | | | | | | | | | | | Called `delivery_limit` [#163513253]
| * Formattingkjnilsson2019-02-252-104/+104
| |
| * Move rabbit_fifo unit tests into own SUITEkjnilsson2019-02-254-2065/+1952
| |
| * Restructure rabbit_fifo statekjnilsson2019-02-251-57/+68
| | | | | | | | | | | | | | To keep all static and rarely changed data in a nested sub-structure. This will reduce gc pressure somewhat. [#163513253]
| * fix dialyzer issueskjnilsson2019-02-221-3/+1
| |