summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Test new queue, connection and exchange count functionsDiana Corbacho2019-06-111-1/+44
| | | | [#166445368]
* Queue, connection and exchange count functionsDiana Corbacho2019-06-103-2/+37
| | | | | | | Connection lookup using tracking tables. Used in the management only HTTP API with all stats disabled [#166445368]
* Reference a public IPv4 that has a PTR recordGerhard Lazu2019-06-101-9/+3
| | | | | | | | | | | | | | | Public IPv6 192.240.153.117 is managed by OVH US and has a PTR 117.153.240.192.in-addr.arp record that resolves to www.rabbitmq.com. It would be nice to move to an IPv4 & IPv6 that are managed by our wider org. dig 117.153.240.192.in-addr.arpa PTR +short www.rabbitmq.com. whois 192.240.153.117 | grep -i Organiz Organization: OVH US LLC (OUL-16) cc @michaelklishin @trevormarshall
* Merge pull request #2019 from ↵Michael Klishin2019-06-075-46/+71
|\ | | | | | | | | rabbitmq/rabbitmq-server-1767-protocol-specific-ctx-in-authn-authz Propagate protocol-specific context to authorization
| * Merge branch 'master' into ↵Michael Klishin2019-06-0716-81/+224
| |\ | |/ |/| | | rabbitmq-server-1767-protocol-specific-ctx-in-authn-authz
* | Handle rejected queues on confirm.queue_confirm_refactorDaniil Fedotov2019-06-043-29/+34
| | | | | | | | | | | | | | When one queue confirms a message and another queue failed without confirming it, the message should be rejected. Fixes some races between confirms and rejects.
* | Switch msg_id_to_channel from gb_tree to maps.Daniil Fedotov2019-06-042-14/+12
| |
* | Reject a message before discarding it from BQ.Daniil Fedotov2019-06-041-3/+10
| | | | | | | | | | discard/4 confirms a message, which can cause races between confirms and rejects.
* | Merge pull request #2022 from rabbitmq/ra-metricsMichael Klishin2019-06-042-0/+13
|\ \ | | | | | | Add channel info for pending raft commands
| * | Add channel info for pending raft commandskjnilsson2019-06-042-0/+13
| | | | | | | | | | | | [#165184345]
* | | Update rabbitmq-components.mkGerhard Lazu2019-06-031-1/+1
| | |
* | | Type fixes to keep dialyzer happyDaniil Fedotov2019-05-292-3/+3
| | |
* | | Merge pull request #2018 from rabbitmq/rabbitmq-cli-302Michael Klishin2019-05-292-2/+26
|\ \ \ | | | | | | | | 'check' function for health check of virtual hosts
| * | | 'check' function for health check of virtual hostsDiana Corbacho2019-05-282-2/+26
| | | | | | | | | | | | | | | | [#163451547]
* | | | Merge pull request #2015 from Invizory/dead-letter-rejected-publishedDaniil Fedotov2019-05-298-34/+130
|\ \ \ \ | | | | | | | | | | Add an option to dead-letter rejected publishes
| * | | | Add remaining tests for `reject-publish-dlx`Arthur Khashaev2019-05-283-15/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add tests for `reject-publish-dlx` overflow strategy for all corresponding tests for `reject-publish` strategy. The tests are grouped to avoid code duplication. See #1443
| * | | | Add overflow tests to `confirms_rejects_SUITE`Arthur Khashaev2019-05-281-13/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change splits the tests into groups for both the existing `reject-publish` overflow strategy and the new `reject-publish-dlx`. The corresponding queue names have been suffixed to make the tests in the groups independent and thus parallel. See #1443
| * | | | Add an option to dead-letter rejected publishesArthur Khashaev2019-05-274-6/+52
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | Add `reject-publish-dlx` overflow strategy, which is similar to `reject-publish` strategy, but also dead-letters rejected messages. Closes #1443
| | | * Be more tolerant in rabbit_channel:get_amqp_params/2Arnaud Cogoluègnes2019-06-071-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The function can be called outside of any AMQP connection (e.g. from the management plugin), so trying to get any protocol-specific information from the connection state does not make much sense. References #1767
| | | * Propagate protocol-specific context to authorizationArnaud Cogoluègnes2019-05-295-45/+69
| |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Propagate protocol-specific context like MQTT client ID to authentication and authorization backends. The propagation was already there for topic authorization. Resource check needed propagation and a new argument in the backend function. Virtual host check just needed propagation, as there was already a context parameter (for peer address). A context parameter and propagation was already there for login-related functions. Unfortunately the context API is not fully consistent, due to historical reasons: proplists are the historical data structure, maps are used whenever possible. References #1767
* | | Improving confirms test stability and error reportingDaniil Fedotov2019-05-271-3/+10
| | | | | | | | | | | | | | | | | | Add process messages to the error message. Try harder to kill queues.
* | | Improve error handling and increase timeout in confirm-reject testDaniil Fedotov2019-05-271-3/+4
| |/ |/| | | | | | | This is to prevent false-positives on slow systems and detect genuine errors better.
* | Merge pull request #2014 from rabbitmq/quorum-statusMichael Klishin2019-05-231-9/+41
|\ \ | | | | | | Improve quorum_status command
| * | Improve quorum_status commandkjnilsson2019-05-231-9/+41
| | | | | | | | | | | | Make it compatible with the pretty table formatter.
* | | Update rabbitmq-components.mkJean-Sébastien Pédron2019-05-171-1/+1
| | |
* | | Update rabbitmq-components.mkMichael Klishin2019-05-171-1/+1
| | |
* | | Update rabbitmq-components.mkMichael Klishin2019-05-161-2/+2
| | |
* | | Merge pull request #2011 from ↵Michael Klishin2019-05-151-2/+2
|\ \ \ | | | | | | | | | | | | | | | | rabbitmq/fix-notify-limiter-after-consumer-timeout-change Adapt clause in notify_limiter to consumer timeout changes
| * | | Adapt clause in notify_limiter to consumer timeout changesArnaud Cogoluègnes2019-05-151-2/+2
|/ / /
* | | Update rabbitmq-components.mkMichael Klishin2019-05-141-1/+1
| | |
* | | Add a dependency on observer_cli, closes #2006Michael Klishin2019-05-131-1/+1
| | |
* | | Update rabbitmq-components.mkMichael Klishin2019-05-131-0/+1
| | |
* | | Merge pull request #1893 from rabbitmq/do_not_confirm_on_unreachable_queueMichael Klishin2019-05-134-244/+478
|\ \ \ | | | | | | | | Make sure that publishes to dead or unaccessible queues return nack
| * | | CosmeticsMichael Klishin2019-05-131-1/+1
| | | |
| * | | CosmeticsMichael Klishin2019-05-131-4/+4
| | | |
| * | | CosmeticsMichael Klishin2019-05-131-50/+38
| | | |
| * | | Change publisher confirms behaviour to reject messages if no queues confirmed.Daniil Fedotov2019-05-104-242/+488
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Channel is counting unacked messages in a remove-only data structure `dtree`. Each published message id is associated with a list of queues where it was routed to. On confirm of queue failures queues were removed from the list As soon as there are no queues in the list - the message can be confirmed. This meant that if all queues fail with "not abnormal" reasons - the message may be confirmed, but not enqueued. This change removes dtree data structure, replacing it with specific unconfirmed_messages data structure. It tracks queue pids similarly to dtree, but also has an API to record confirms and failures differently, keeping track of which queues received at least one confirm. If all pids fails or confirm, but not all queues received confirmation - it means not all queues enqueued the message and the message should be rejected This is different from the current behaviour, but corresponds to the docs and common sense. [#163952410]
* | | Merge pull request #2001 from rabbitmq/rabbitmq-server-2000v3.8.0-beta.4Michael Klishin2019-05-103-36/+80
|\ \ \ | |_|/ |/| | Move check for active readers to message store GC action function
| * | Compaction: more logging, a testMichael Klishin2019-05-102-2/+27
| | |
| * | DittoMichael Klishin2019-05-051-1/+1
| | |
| * | Log deferred file compaction at debug levelMichael Klishin2019-05-051-1/+1
| | |
| * | Move check for reader to action function for message store GC.Daniil Fedotov2019-05-032-34/+53
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Message store GC postpones processing of file, which have readers. When performing an action, it asserts that there are no readers. Check for readers may race with readers update by a queue, crashing the message store. Make check and assert work with the same lookup to reduce failure rate. In case of races the queue process should handle exception instead. Addresses #2000 [#165755203]
* | Merge pull request #2004 from rabbitmq/send-drained-type-fixMichael Klishin2019-05-082-3/+3
|\ \ | |/ |/| Fix type issues with send_drained message
| * Fix type issues with send_drained messagekjnilsson2019-05-072-3/+3
|/ | | | | | For quorum queues. [#165796741]
* feature_flags_SUITE: Bump testcase timeout to 10 minutesJean-Sébastien Pédron2019-05-031-1/+1
|
* rabbit_feature_flags: Export initialize_registry/1 for the testsuiteJean-Sébastien Pédron2019-05-031-2/+2
| | | | | | | | Hiding the export behind the `TEST` macro should work on the paper. Unfortunately, when we compile a test plugin as part of the `feature_flags_SUITE` testsuite, `rabbit` is recompiled without the `TEST` macro. This causes the testsuite to fail with an `undef` exception because initialize_registry/1 is not exported anymore.
* Merge pull request #1998 from rabbitmq/consumer_timeouts_take_2Michael Klishin2019-05-033-61/+23
|\ | | | | Always close channel on consumer timeout
| * Log consumer timeout as a warningMichael Klishin2019-05-031-4/+4
| |
| * Drive by change: squash a compiler warningMichael Klishin2019-05-031-1/+0
| |
| * When consumer hits an ack timeout, log timeout value usedMichael Klishin2019-05-031-3/+3
| |