| Commit message (Collapse) | Author | Age | Files | Lines |
| |\
| |
| | |
Ensure EPMD env vars are exported if set
|
| |/
|
|
| |
Fixes #1709
|
| |\
| |
| | |
Refactor listener startup error handling
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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]
|
| |\ \
| |/
|/| |
Report connection/channel/queue churn
|
| |/
|
|
|
| |
Rate metrics for monitoring of high connection churn scenarios
[#160943831]
|
| |
|
|
|
|
| |
8b37501451d2ef66dbf16b62b84684b74157dcbc.
The testcase takes about 15-20 seconds, therefore a separate suite.
|
| |\
| |
| | |
Support changes for `rabbitmq-plugins directories`
|
| | |
| |
| |
| | |
To match the name commonly used elsewhere.
|
| | |\ |
|
| | | | |
|
| | |\ \ |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
They already use the correct one.
Per discussion with @hairyhum.
[#160792758]
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
enabled_plugins_file/0
Part of rabbitmq/rabbitmq-cli#261.
[#160792758]
|
| |\ \ \ \
| |_|_|/
|/| | | |
Take reject into account when sending confirms and vice-versa.
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | | | |
|
| | | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| |\ \ \
| |/ /
|/| | |
Bindings optimisation
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| |/ /
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |/
|
|
|
| |
To match the metrics format that includes the new basic_get empty
metric.
|
| |\
| |
| | |
Make rabbit_vhost:add/2 idempotent
|
| | | |
|
| | |
| |
| |
| |
| |
| | |
Part of rabbitmq/rabbitmq-cli#260
[#160792770]
|
| |/
|
|
|
| |
The metrics cleanup for the channel_queue_metrics didn't handle the
updated metrics tuple arity.
|
| |\
| |
| | |
Add basic.get_empty stats as a new counter
|
| | |
| |
| |
| |
| | |
Basic.get requests that return ok_empty used to be unaccounted for
[#160280626]
|
| | | |
|
| |/
|
|
| |
ranch:child_spec/6 is deprecated.
|
| |\
| |
| | |
Make pg_local:member_died/2 more resilient
|
| | | |
|
| | | |
|
| |/
|
|
|
|
| |
See #1699 for background.
[#160530707]
|
| | |
|
| |\
| |
| | |
Format errors and warnings with regard to config files in a manner si…
|
| |/
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |\
| |
| | |
Fix a potential badmatch error
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
```
|
| |
|
|
|
|
| |
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.
|
| |\
| |
| | |
Idempotent binding removal
|
| | |
| |
| |
| |
| | |
...that we've concluded we cannot use dirty deletes in at least some areas.
The sentence left is pretty to the point.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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]
|
| |\ \
| |/
|/|
| |
| | |
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
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |/ |
|
| |\
| |
| | |
Change example to use parameter that exists
|
| |/
|
|
| |
"federation local_username" does not exist anymore
|
| |\
| |
| | |
Config files check
|