summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Quorum queue queue length limit by byte size and number of messagesDiana Corbacho2019-01-249-344/+764
| | | | | | | | | | | | | | | Only drop-head strategy. This necessitated the change of rabbit_fifo prefix messages from a tuple of integers representing the number of returned vs enqueued messages that have already been processes and thus don't need to include message bodes in the snapshot to a tuple of lists of the sizes of each message. This change will have some performance impact as the snaphots will now be larger than before but as they still won't contain message bodies at least the sizing is fixed. Decreased the frequency as snapshots points are prepared so somewhat make up for this. [#161247380]
* Introduce rabbit:is_booted/0, is_booting/0Michael Klishin2019-01-201-1/+5
| | | | References rabbitmq/rabbitmq-cli#292.
* Export rabbit:is_booting/1Michael Klishin2019-01-201-1/+1
| | | | | | | | It joins the club of is_booted/1 and is_running/{0, 1}. This allows for a CLI command that checks if the node is still botting. References rabbitmq/rabbitmq-cli#292.
* rabbit_fifo: refactoringkjnilsson2019-01-171-99/+138
| | | | | | Light refactoring Shortening some lines for the benefit of split buffer users.
* Fix test setupkjnilsson2019-01-171-1/+1
|
* Merge pull request #1826 from ↵Karl Nilsson2019-01-176-46/+239
|\ | | | | | | | | rabbitmq/rabbitmq-management-649-single-active-consumer Integrate single active consumer with monitoring
| * Merge branch 'master' into rabbitmq-management-649-single-active-consumerArnaud Cogoluègnes2019-01-167-84/+83
| |\ | | | | | | | | | | | | Conflicts: src/rabbit_fifo.erl
| * | Monitor waiting consumers when entering stateArnaud Cogoluègnes2019-01-161-4/+69
| | | | | | | | | | | | | | | For quorum queues. Otherwise dead waiting consumers can be kept in the state between restarts.
| * | Add single active field when listing consumersArnaud Cogoluègnes2019-01-164-12/+34
| | | | | | | | | | | | | | | | | | [#163089472] References rabbitmq/rabbitmq-management#649
| * | Integrate single active consumer with metricsArnaud Cogoluègnes2019-01-155-33/+122
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add single consumer tag and channel PID to metrics infos in quorum queues * Include waiting consumers in consumer count in quorum queues * Add single active consumer flag in consumer metrics * Update metrics for newly-promoted single active consumer [#163089472] References rabbitmq/rabbitmq-management#649
| * | Merge branch 'master' into rabbitmq-management-649-single-active-consumerArnaud Cogoluègnes2019-01-15218-330/+794
| |\ \
| * | | Add single active consumer monitoring info to classic queueArnaud Cogoluègnes2019-01-112-1/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | WIP for quorum queue. [#163089472] References rabbitmq/rabbitmq-management#649
* | | | Merge pull request #1832 from rabbitmq/default-binding-cleanup-upgrade-functionMichael Klishin2019-01-162-1/+38
|\ \ \ \ | |_|_|/ |/| | | Add an upgrade function to remove all default bindings.
| * | | Only remove durable bindings for durable queues.Daniil Fedotov2019-01-162-7/+2
| | | | | | | | | | | | | | | | | | | | Non-durable queues and bindings are not on disk anyways. This should be changes when moving to feature flags.
| * | | Extract function, add loggingMichael Klishin2019-01-162-13/+33
| | | |
| * | | WordingMichael Klishin2019-01-161-3/+4
| | | |
| * | | Upgrade functions are expected to return a 'ok'Michael Klishin2019-01-161-1/+2
| | | |
| * | | Add an upgrade function to remove all default bindings.Daniil Fedotov2019-01-152-0/+20
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | Versions before 3.8 create default bindings for queues in the database. Since #1721 they are replaced with placeholders only for list operations. We need to cleanup the bindings to improve binding performance with older queues. [#163224049]
* | | Merge pull request #1831 from rabbitmq/make-mandatory-based-on-routing-onlyMichael Klishin2019-01-163-54/+18
|\ \ \ | | | | | | | | Make mandatory based on route data only
| * \ \ Merge branch 'master' into make-mandatory-based-on-routing-onlyMichael Klishin2019-01-161-9/+7
| |\ \ \
| * | | | Make mandatory based on route data onlykjnilsson2019-01-153-54/+18
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of waiting for a mandatory_received message from the queue the mandatory result is calculated in the channel based on the routing result only. This may seem like a weakening of the mandatory semantics but considering that the mandatory_received message is returned _before_ the message is enqueued and/or persisted in the queue it doesn't actually open up any further failure scenarios. [#163222515]
* | | | Merge pull request #1823 from rabbitmq/delete_quorum_queue_fixesMichael Klishin2019-01-163-21/+57
|\ \ \ \ | |_|/ / |/| | | Improve quorum queue deletion
| * | | Change quorum queue delete timeoutkjnilsson2019-01-151-12/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The default timeout of net_ticktime + 5000 ms was much too long and made the delete operation in the management UI timeout and not complete properly. A simple 5000ms works better and this commit also handles the case where the delete command was committed but the leader never shut down due to a server being unavailable. This also falls back to forced deletion. [#163062078]
| * | | Log this as a warningMichael Klishin2019-01-151-1/+1
| | | |
| * | | Improve quorum queue deletionkjnilsson2019-01-153-20/+48
| |/ / | | | | | | | | | | | | | | | Only delete the amqqueue record after successful Ra cluster deletion. Force delete Ra servers when not able to achieve consensus.
* | | Merge pull request #1836 from rabbitmq/rabbitmq-server-1835Michael Klishin2019-01-161-9/+7
|\ \ \ | |/ / |/| | Remove use of accept_ack
| * | Remove use of accept_ackLuke Bakken2019-01-151-9/+7
|/ / | | | | | | | | | | Ranch no longer calls accept_ack for a transport, which means a couple important operations are missed for new sockets. Fixes #1835
* | Merge pull request #1819 from rabbitmq/qq-testingMichael Klishin2019-01-158-57/+344
|\ \ | | | | | | Testing of quorum queues
| * \ Merge branch 'master' into qq-testingMichael Klishin2019-01-151-29/+212
| |\ \ | |/ / |/| | | | | | | | Conflicts: src/rabbit_fifo.erl
* | | Merge pull request #1827 from ↵Michael Klishin2019-01-141-27/+212
|\ \ \ | | | | | | | | | | | | | | | | rabbitmq/rabbitmq-server-1825-single-active-consumer-in-qq-leaks-consumers Clean consumers properly in QQ when single active consumer is on
| * | | Add waiting consumers when listing consumers in QQArnaud Cogoluègnes2019-01-141-11/+47
| | | | | | | | | | | | | | | | | | | | Necessary when single active consumer is on, otherwise only the single active consumer shows up in the command line.
| * | | (Un)suspect waiting consumers when node goes down or upArnaud Cogoluègnes2019-01-141-7/+76
| | | | | | | | | | | | | | | | For single active consumer.
| * | | Unregister waiting consumers in QQ when channel goes downArnaud Cogoluègnes2019-01-111-9/+89
| | |/ | |/| | | | | | | | | | | | | | | | | | | For single active consumer. Otherwise they still show up in the management plugin. Worse, a consumer from a dead channel can end up being the single active consumer, which stops deliveries. References #1825
| | * Remove an unused recordMichael Klishin2019-01-141-1/+0
| | |
| | * Merge branch 'master' into qq-testingMichael Klishin2019-01-14218-1031/+446
| | |\ | |_|/ |/| |
* | | Merge pull request #1830 from samnela/fix/copyright-yearMichael Klishin2019-01-14215-246/+238
|\ \ \ | |/ / |/| | Fixed years in copyright
| * | Fixed years in copyrightSamuel NELA2019-01-13215-246/+238
|/ /
* | Merge pull request #1821 from rabbitmq/lrb-update-sysmon_handlerLuke Bakken2019-01-094-794/+203
|\ \ | | | | | | Update to sysmon_handler 1.1.0
| * | Debug log messageMichael Klishin2019-01-101-1/+1
| | |
| * | Update to sysmon_handler 1.1.0Luke Bakken2019-01-095-795/+204
| | | | | | | | | | | | Also ensure that sane defaults are used for sysmon_handler if not set by the user
* | | Update rabbitmq-components.mkLuke Bakken2019-01-091-1/+1
|/ /
* | Correct a max message size config setting typoMichael Klishin2019-01-092-1/+15
| | | | | | | | Discovered while doing acceptance. References #1812.
| * Merge remote-tracking branch 'origin/master' into qq-testingDiana Corbacho2019-01-1025-394/+2427
| |\ | |/ |/|
* | Update ct-config_schema expectations to include sysmon_handler defaultsMichael Klishin2019-01-091-83/+750
| | | | | | | | | | This is a short term solution, the generated config helpers/framework is due for revisiting.
* | Squash a couple of warningsMichael Klishin2019-01-091-2/+2
| |
* | Merge pull request #1816 from rabbitmq/rabbitmq-server-952Michael Klishin2019-01-096-2/+493
|\ \ | | | | | | Add sysmon-handler to RabbitMQ
| * | Add rabbitmq-sysmon to RabbitMQLuke Bakken2019-01-076-2/+493
| | | | | | | | | | | | | | | | | | | | | | | | Fixes #952 Update for rabbitmq-sysmon -> sysmon-handler rename Use hex.pm package for sysmon_handler, copy schema into rabbit.schema
* | | Merge pull request #1802 from ↵Michael Klishin2019-01-097-99/+762
|\ \ \ | | | | | | | | | | | | | | | | rabbitmq/rabbitmq-server-1799-single-active-consumer-in-qq Single active consumer
| * \ \ Merge branch 'master' into rabbitmq-server-1799-single-active-consumer-in-qqMichael Klishin2019-01-0815-195/+402
| |\ \ \
| * | | | NbMessages => MessageCountMichael Klishin2019-01-081-24/+24
| | | | |