summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #1731 from rabbitmq/rabbitmq-server-1709Luke Bakken2018-10-111-2/+7
|\ | | | | Ensure EPMD env vars are exported if set
| * Ensure EPMD env vars are exported if setLuke Bakken2018-10-111-2/+7
|/ | | | Fixes #1709
* Merge pull request #1730 from rabbitmq/rabbitmq-server-1711Luke Bakken2018-10-101-17/+46
|\ | | | | Refactor listener startup error handling
| * Refactor listener startup error handlingMichael Klishin2018-10-111-17/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Functions that start listeners (Ranch supervisors) no longer throw on errors. They simply return the first error encountered and let the boot step handle it. Since there is no way for boot steps to indicate errors, this is the best we can do in this area without a much deeper refactoring of the boot sequence. In addition they also log the error. Note that modern Ranch versions log more reasonable messages when Ranch supervisors exit due to a listen/bind socket operation error, e.g. when the address/port pair is already in use. Closes #1711 (for now), covers #1729 for the server as a drive-by change. [#160791138] [#161136615]
* | Merge pull request #1726 from rabbitmq/rabbitmq-server-1723Michael Klishin2018-10-111-0/+2
|\ \ | |/ |/| Report connection/channel/queue churn
| * Report connection/channel/queue churnDiana Corbacho2018-10-081-0/+2
|/ | | | | Rate metrics for monitoring of high connection churn scenarios [#160943831]
* A testcase to verify confirms-rejects race condition fixed in ↵Daniil Fedotov2018-10-041-0/+156
| | | | | | 8b37501451d2ef66dbf16b62b84684b74157dcbc. The testcase takes about 15-20 seconds, therefore a separate suite.
* Merge pull request #1720 from rabbitmq/rabbitmq-cli-261Michael Klishin2018-10-043-7/+17
|\ | | | | Support changes for `rabbitmq-plugins directories`
| * plugins_dist_dir/0 => plugins_dir/0Michael Klishin2018-10-031-6/+6
| | | | | | | | To match the name commonly used elsewhere.
| * Merge branch 'master' into rabbitmq-cli-261Michael Klishin2018-10-032-19/+37
| |\
| * | Don't force -q in rabbitmq-pluginsMichael Klishin2018-10-021-1/+1
| | |
| * | Merge branch 'master' into rabbitmq-cli-261Michael Klishin2018-09-281-12/+12
| |\ \
| * | | Don't force --formatter=plugins on rabbitmq-plugins commandsMichael Klishin2018-09-282-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | They already use the correct one. Per discussion with @hairyhum. [#160792758]
| * | | rabbitmq_plugins: export plugins_dist_dir/0, plugins_expand_dir/0, introduce ↵Michael Klishin2018-09-281-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | enabled_plugins_file/0 Part of rabbitmq/rabbitmq-cli#261. [#160792758]
* | | | Merge pull request #1719 from rabbitmq/rejects-confirms-interdependencyMichael Klishin2018-10-031-38/+48
|\ \ \ \ | |_|_|/ |/| | | Take reject into account when sending confirms and vice-versa.
| * | | removed TODODaniil Fedotov2018-10-031-1/+0
| | | |
| * | | Fix min function to lists:min instead of erlang:min.Daniil Fedotov2018-10-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The cutoff value should be a number, corresponding to the minimal uncommitted or rejected message (or confirmed if sending rejects). erlang:min compares term values and will not traverse a list of NegativeMsgSeqNos.
| * | | Naming; use erlang:min/2 instead of lists:min/1Michael Klishin2018-10-021-3/+3
| | | |
| * | | Take reject into account when sending confirms and vice-versa.Daniil Fedotov2018-10-011-37/+48
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before bf531fd017cbec756ee979299723adce76828c96 rejects were not collected like confirms and extracted from unconfirmed. When adding the feature the important detail was missed: if unconfirmed dtree is empty, confirms will be sent as multiple confirming all messages up to latest. If there are rejects recorded, the channel can send multiple confirm and then reject right after with a lower message ID, which makes clients fail. Reported in php-amqplib/php-amqplib#597
* | | Merge pull request #1715 from rabbitmq/bindings-optimisationMichael Klishin2018-10-032-19/+37
|\ \ \ | |/ / |/| | Bindings optimisation
| * | Replace match_object with dirty_match_object for binding cleanup.Daniil Fedotov2018-09-282-11/+17
| | | | | | | | | | | | | | | | | | | | | | | | match_object locks entire table, we'd like to avoid that. It's possible to not call delete_for_source if exchange is autodeleted. Checking an autodelete exchange will lock table on scanning for outgoing bindings anyway. But other cases will not lock the table.
| * | Use delete instead of delete_object and read instead of match_object in ↵Daniil Fedotov2018-09-281-8/+20
|/ / | | | | | | | | | | | | | | | | bindings where possible. Route table key contains all the route information, which makes delete equivalent to delete_object. But it's faster. For the same reason match_object with a full object is equivalent to read.
* | Update test expectionskjnilsson2018-09-281-12/+12
|/ | | | | To match the metrics format that includes the new basic_get empty metric.
* Merge pull request #1714 from rabbitmq/rabbitmq-cli-260Michael Klishin2018-09-272-4/+23
|\ | | | | Make rabbit_vhost:add/2 idempotent
| * Delete vhost at the end of this testMichael Klishin2018-09-281-3/+7
| |
| * Make rabbit_vhost:add/2 idempotentMichael Klishin2018-09-272-4/+19
| | | | | | | | | | | | Part of rabbitmq/rabbitmq-cli#260 [#160792770]
* | Fix bug in metrics gckjnilsson2018-09-271-1/+1
|/ | | | | The metrics cleanup for the channel_queue_metrics didn't handle the updated metrics tuple arity.
* Merge pull request #1701 from rabbitmq/get-empty-statsMichael Klishin2018-09-251-0/+1
|\ | | | | Add basic.get_empty stats as a new counter
| * Add get empty stats as a new counterDiana Corbacho2018-09-171-0/+1
| | | | | | | | | | Basic.get requests that return ok_empty used to be unaccounted for [#160280626]
* | Update rabbitmq-components.mkJean-Sébastien Pédron2018-09-191-2/+2
| |
* | tcp_listener_sup: Switch to ranch:child_spec/5Jean-Sébastien Pédron2018-09-191-5/+11
|/ | | | ranch:child_spec/6 is deprecated.
* Merge pull request #1700 from rabbitmq/rabbitmq-server-1699Michael Klishin2018-09-172-31/+102
|\ | | | | Make pg_local:member_died/2 more resilient
| * ClarifyMichael Klishin2018-09-171-1/+1
| |
| * Combine two clauses hereMichael Klishin2018-09-171-3/+1
| |
| * Make pg_local:member_died/2 more resilientMichael Klishin2018-09-152-31/+104
|/ | | | | | See #1699 for background. [#160530707]
* Update rabbitmq-components.mkJean-Sébastien Pédron2018-09-111-3/+3
|
* Merge pull request #1695 from rabbitmq/lrb-error-text-formattingMichael Klishin2018-09-085-47/+97
|\ | | | | Format errors and warnings with regard to config files in a manner si…
| * Format errors and warnings with regard to config files in a manner similar ↵Luke Bakken2018-09-065-47/+97
|/ | | | | | | | | | | | to lager Use exit code 64 when configuration is invalid Correctly deal with RABBITMQ_PID_FILE Fix bug in setting up RABBITMQ_PID_FILE as well as printing multi-line warnings and errors Calculate indent
* Merge pull request #1694 from rabbitmq/lrb-fix-badmatch-file-extensionMichael Klishin2018-09-051-5/+12
|\ | | | | Fix a potential badmatch error
| * Fix a potential badmatch errorLuke Bakken2018-09-051-5/+12
|/ | | | | | | | | | | | | | You can get `badmatch` if you run the broker with arguments like this: ``` make RABBITMQ_ALLOW_INPUT=true RABBITMQ_ADVANCED_CONFIG_FILE=/Users/lbakken/issues/pt/159000315-conf-format-check/test3/rabbitmq.conf RABBITMQ_CONFIG_FILE=/Users/lbakken/issues/pt/159000315-conf-format-check/test3/advanced.config run-broke ``` With this change, the following message is printed: ``` ERROR: RABBITMQ_ADVANCED_CONFIG_FILE: Expected extension .config, got extension .conf for file /Users/lbakken/issues/pt/159000315-conf-format-check/test3/rabbitmq.conf ```
* Move schema dir creation to the point it's going to be used.Daniil Fedotov2018-08-313-36/+36
| | | | | | On startup some environments do not expect schema dir if they use the old config. The script might fail with an error, while there is no reason to.
* Merge pull request #1691 from rabbitmq/remove-bindingsMichael Klishin2018-08-301-10/+4
|\ | | | | Idempotent binding removal
| * Remove a couple of sentences that may be slightly misleading nowMichael Klishin2018-08-301-4/+1
| | | | | | | | | | ...that we've concluded we cannot use dirty deletes in at least some areas. The sentence left is pretty to the point.
| * Idempotent binding removalDiana Corbacho2018-08-301-6/+3
| | | | | | | | | | | | | | | | | | | | Optimizations introduced in #1589 caused the removal of bindings to be non-idempotent, as the removal of routing information with dirty deletes did not allow for full transaction rollback. This commit reverts that change, losing some of the performance improvements in favour of data correctness. [#160100569]
* | Merge pull request #1689 from ↵Michael Klishin2018-08-301-5/+3
|\ \ | |/ |/| | | | | rabbitmq/forgiving-binding-removal-on-queue-deletion Don't error when a queue that's being deleted has no bindings left to remove on transaction retries
| * Don't error when a queue that's being deleted has no bindings to removeMichael Klishin2018-08-301-5/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | It can happen due to retries of (currently not guaranteed to be idempotent, which is a separate issue in the works) binding removal. Since both the queue and its bindings are undergoing removal, don't fail when there's nothing left to be removed for the current transaction [attempt]. This avoids obscure and non-actionable errors in the log ({error, not_found}). Note that the error is also not handled by the callers and ignoring them is the only reasonable course of action that I can think of. Per discussion with @dumbbell @dcorbacho @hairyhum.
* | Update git-commit-msgs linkLuke Bakken2018-08-281-1/+1
|/
* Merge pull request #1686 from rabbitmq/lrb-set_parameter-docsMichael Klishin2018-08-281-7/+7
|\ | | | | Change example to use parameter that exists
| * Change example to use parameter that existsLuke Bakken2018-08-271-7/+7
|/ | | | "federation local_username" does not exist anymore
* Merge pull request #1671 from rabbitmq/config_files_checkMichael Klishin2018-08-259-174/+399
|\ | | | | Config files check