| Commit message (Collapse) | Author | Age | Files | Lines |
| |\
| |
| | |
Add tcp linger option to schema
|
| | | |
|
| | | |
|
| |/ |
|
| |\ |
|
| | |\
| | |
| | | |
Fix longname-mode on hosts without detectable FQDN
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Server startup and CLI tools fail in longnames-mode if erlang is not
able to determine host FQDN (with at least one dot in it).
E.g. this can happen when you want to assemble a cluster using only
IP-addresses, and you completely don't care about FQDNs.
And it was not possible to alleviate this situation using any options
from http://erlang.org/doc/apps/erts/inet_cfg.html
Fixes #890
|
| |\ \ \
| |/ / |
|
| | |\ \
| | | |
| | | | |
Added resume after flow
|
| | | | | |
|
| | | | | |
|
| |\ \ \ \
| |/ / / |
|
| | |/ / |
|
| |\ \ \
| | | |
| | | | |
fixed typo in config example comment
|
| | | | | |
|
| |\ \ \ \
| |/ / /
|/| / /
| |/ / |
|
| | |\ \ |
|
| | |/ / |
|
| |\ \ \
| |/ / |
|
| | |\ \
| | | |
| | | | |
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>
|
| | |
| |
| |
| |
| |
| |
| |
| | |
... while known failures are being investigated. This should unblock
downstream tasks in Concourse.
References #889.
[#126767013]
|
| | |
| |
| |
| |
| | |
References #889.
[#126767013]
|
| | |
| |
| |
| |
| | |
References #889.
[#126767013]
|
| | |
| |
| |
| |
| |
| |
| |
| | |
We must query the queue master PID before each check and handle `badrpc`
if the process disappeared.
References #889.
[#126767013]
|
| | |
| |
| |
| |
| | |
References #889.
[#126767013]
|
| | |
| |
| |
| |
| |
| |
| | |
This fixes some false positives.
References #889.
[#126767013]
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
... instead of raising an exit signal.
While here, use ct:pal/3 as the output function for PropEr, not
io:format/3. This ensures common_test knows the origin of the message
and that it's expected.
[#126767013]
|
| |\ \
| | |
| | | |
Merge 883 into master
|
| | |\ \
|/ / /
| | _ |
|
| | | |
|
| | |\
| | |
| | | |
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`.
|