| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
| |
Partially implements https://github.com/rabbitmq/rabbitmq-server/issues/851
- Made old `--online`/`--offline` options mutually exclusive between
themselves and the new `--local` option
- Added documentation both for the old and the new option
- Fixed some ugly indentation in generated usage (only `set_policy`
wrapped line remains unfixed)
- Added integration test suite for `rabbitmqctl list_queues`
|
| | |
|
| |\ |
|
| |/ |
|
| |\
| |
| | |
Fix some type specs
|
| |/
|
|
| |
Forgot to update specs in #868
|
| | |
|
| |\
| |
| | |
Bump default VM atom table limit to 5M
|
| | |
| |
| |
| |
| |
| | |
See #895 for background and reasoning.
Fixes #895.
|
| |\ \
| |/
|/| |
Don't die in case of faulty node
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch fixes TOCTOU issue introduced in the following commit:
* rabbitmq/rabbitmq-server@93b9e37c3ea0cade4e30da0aa1f14fa97c82e669
If the node was just removed from the cluster, then there is a small
window when it is still listed as a member of a Mnesia cluster
locally. We retrieve list of nodes by calling locally
```erlang
unsafe_rpc(Node, rabbit_mnesia, cluster_nodes, [running]).
```
However retrieving status from that particular failed node is no longer
available and throws an exception. See `alarms_by_node(Name)` function,
which is simply calls `unsafe_rpc(Name, rabbit, status, [])` for this
node.
This `unsafe_rpc/4` function is basically a wrapper over `rabbit_misc:rpc_call/4`
which translates `{badrpc, nodedown}` into exception. This exception
generated by `alarms_by_node(Name)` function call emerges on a very high
level, so rabbitmqct thinks that the entire cluster is down, while
generating a very bizarre message:
Cluster status of node 'rabbit@overcloud-controller-0' ...
Error: unable to connect to node 'rabbit@overcloud-controller-0':
nodedown
DIAGNOSTICS
===========
attempted to contact: ['rabbit@overcloud-controller-0']
rabbit@overcloud-controller-0:
* connected to epmd (port 4369) on overcloud-controller-0
* node rabbit@overcloud-controller-0 up, 'rabbit' application running
current node details:
- node name: 'rabbitmq-cli-31@overcloud-controller-0'
- home dir: /var/lib/rabbitmq
- cookie hash: PB31uPq3vzeQeZ+MHv+wgg==
See - it reports that it failed to connect to node
'rabbit@overcloud-controller-0' (because it catches an exception from
`alarms_by_node(Name)`), but attempt to connect to this node was
successful ('rabbit' application running).
In order to fix that we should not throw exception during consequent
calls (`[alarms_by_node(Name) || Name <- nodes_in_cluster(Node)]`), only
during the first one (`unsafe_rpc(Node, rabbit_mnesia, status, [])`).
Even more - we don't need to change `nodes_in_cluster(Node)`, because it
is called locally. The only function which must use
`rabbit_misc:rpc_call/4` is `alarms_by_node(Name)` because it is
executed remotely.
See this issue for further details and real world example:
* https://bugzilla.redhat.com/1356169
Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
|
| | |
|
| |\
| |
| | |
Tune scheduling bind flags for Erlang VM
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
rename SCHEDULING to SCHEDULER in line with erlang documentation
|
| | | |
|
| | | |
|
| |\ \ |
|
| | | | |
|
| | | | |
|
| | | | |
|
| |/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Global timeout `?RPC_TIMEOUT` was not used, because default value of
infinity was always introduced via `?TIMEOUT_DEF`. Now `infinity` is
used for commands without timeout support, and `?RPC_TIMEOUT`
otherwise.
- `?COMMANDS_WITH_TIMEOUT` now can contain per-command default values
for timeout, using tuple `{Command, DefaultTimeoutInMilliSeconds}`
instead of just `Command`.
|
| | | |
|
| |\ \
| | |
| | |
| | | |
into stable
|
| | | | |
|
| | |\ \
|/ / /
| | |
| | | |
https://github.com/binarin/rabbitmq-server into binarin-rabbitmq-server-fix-join-cluster-when-already-member
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Because `{ok, _}` should mean OK, and `{error, _}` should be a real error.
With the addition of
https://github.com/rabbitmq/rabbitmq-common/pull/115
`rabbitmqctl join_cluster` will become consistent.
|
| | | | |
|
| |\ \ \
| | | |
| | | | |
Use separate index to store dying clients file offsets
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
If no entry was deleted, that's suspicious but it's certainly more
important to keep queue process functional.
|
| | |\ \ \ |
|
| | | | | | |
|
| |\ \ \ \ \
| | | | | |
| | | | | | |
Use rabbit_misc to parse GC stats, supporting maps in R19
|
| |/ / / / / |
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | | |
Those macros are provided by `old_builtin_types.hrl` in rabbitmq-common.
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | | |
Hopefully the testsuite should be quiet enough now.
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | | |
Those macros are provided by `old_builtin_types.hrl` in rabbitmq-common.
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Now that systemd support is introduced,
there is an issue with package dependencies between Ubuntu 14.04 and 16.04.
We produce releases on Debian Wheezy which specifies init-system-hlpers 1.18 as a dependency.
Unfortunately that version is not available on Ubuntu 14.04, only 1.14 is.
So we primarily have 4 options for the short term:
* Revert systemd support and upset 16.04 users
* Drop 14.04 support and upset 14.04 users
* Switch to Ubuntu 14.04 for producing Debian packages and hope it will work on Debian
* Hardcode the dependency
Options 3 and 4 seem to be the least of all evils. We will evaluate option 3
separately.
|