| Commit message (Collapse) | Author | Age | Files | Lines |
| |\ |
|
| | |
| |
| |
| | |
This silences a warning logged during RabbitMQ startup.
|
| | | |
|
| |\ \
| |/ |
|
| | |\
| | |
| | | |
Ignore duplicate down_from_ch
|
| | | | |
|
| | |\ \ |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
If the directory or file does not exist before RabbitMQ starts, we can't let
RabbitMQ create it, otherwise, it's created with its short filename, not its
long one.
With this new correction, we can "escape" all variables instead of only
RABBITMQ_BASE.
Fixes #493.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Note that at the time of this commit, Lager does not support logging
to stdout on Windows. This commit still improves consistency between
Unix and Windows.
References #493.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Compared to the script's parent directory (stored in TDP0),
RABBITMQ_HOME is converted to a short filename to avoid non-ASCII in the
path.
Fixes #493.
|
| | |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
On Windows, cmd.exe and batch scripts do not support Uniode apparently.
However, Windows uses UTF-16 to encode filenames one disk. In batch
scripts, filenames are converted to some one-byte-wide charset. Once
passed to Erlang and RabbitMQ, those filenames are incorrect. In
particular, the management UI is unhappy because filenames obviously
contain invalid UTF-8 characters.
Using short filenames makes sure filename only contain US-ASCII
characters.
To convert them, we use "for" expansion. At the same time, filenames are
made absolute. It works even better than realpath.exe because the latter
also converts filenames to another charset again.
Fixe #493.
|
| | | | |
|
| |\ \ \
| | | |
| | | | |
Remove mentions of `sd_notify` library
|
| |/ / /
| | |
| | |
| | |
| | |
| | | |
Calling shell helper systemd_notify(1) is enough to do the same.
Systemd unit file should specify `NotifyAccess=all`.
|
| |\ \ \
| |/ / |
|
| | |\ \
| | | |
| | | | |
Use systemd-notify(1) shell helper as fallback
|
| | |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Currently external erlang library `sd_notify` is used to make systemd
unit with `Type=notify` to work correctly. This library contains some C
code and thus cannot be built into architecture-independent package.
But it is not actually needed, as systemd provides systemd-notify(1)
helper for shell scripts which serves exactly the same purpose.
The only thing is that you need to add `NotifyAccess=all` to your unit
file to make everything work well.
|
| |\ \ \
| |/ / |
|
| | |\ \
| | | |
| | | | |
Fix usage of uninitialized variable in OCF script
|
| | |/ / |
|
| |\ \ \
| |/ / |
|
| | |\ \
| | | |
| | | |
| | | |
| | | | |
binarin/rabbitmq-server-ocf-list-channels-diagnostics
Improve OCF script diagnostics for timed-out 'list_channels'
|
| | | | |
| | | |
| | | | |
timeout(1) manpage mentions 124 as another valid return code from, in addition to 128 + signal-number.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Currently time-out when running 'rabbitmqctl list_channels' is treated
as a sign that current node is unhealthy. But it could not be the
case, as the hanging channel could be actually on some other
node. Given that currently we have more than one bug related to
'list_channels', it makes sense to improve diagnostics here.
This patch doesn't change any behaviour, only improves logging after
time-out happens. If time-outs continue to occur (even with latest
rabbitmq versions or with backported fixes), we could switch to this
improved list_channels and kill rabbitmq only if stuck channels are
located on current node. But I hope that all related rabbitmq bugs
were already closed.
|
| |\ \ \ \
| |/ / / |
|
| | |\ \ \
| | | | |
| | | | | |
Remove duplicate code in pre_publish and publish functions
|
| | | |/ / |
|
| |\ \ \ \
| |/ / / |
|
| | |\ \ \
| | |/ /
| |/| | |
Reset master score if we decide to restart RabbitMQ on timeout
|
| | |/ /
| | |
| | |
| | |
| | | |
Doing otherwise might not trigger the restart while it is clearly
needed.
|
| |\ \ \
| |/ / |
|
| | |\ \
| | | |
| | | | |
Add optional prefix for RabbitMQ node FQDNs
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
It would allow to instantiate multiple rabbit clusters constructed
from prefix-based instances of rabbit nodes.
|
| | | | | |
|
| | | | | |
|
| |\ \ \ \
| |/ / / |
|
| | |\ \ \
| | |/ /
| |/| | |
Improve diagnostics in 'rabbitmq-server' script
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
While errors are detected with '-e' shell option in this script,
diagnostics messages leave a lot to be desired.
E.g. when trying to write pid file to full partition, the only message
in log is:
sh: echo: I/O error
Which is definitely insufficient
|
| |\ \ \ \
| | | | |
| | | | | |
Update calls to 'rabbitmqctl rotate_logs'
|
| |/ / / /
| | | |
| | | |
| | | |
| | | |
| | | | |
After switch to lager there is no need to to call 'rabbitmqctl
rotate_logs' from logrotate. Also 'rotate_logs' no longer accepts
optional argument. Update documentation accordingly.
|
| |\ \ \ \
| |/ / / |
|
| | |\ \ \
| | | | |
| | | | | |
Fix rabbitMQ OCF monitor detection of running master
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
When monitor detected the node as OCF_RUNNING_MASTER, this may be
lost while the monitor checks in progress.
* Rework the prev_rc by the rc_check to fix this.
* Also add info log if detected as running master.
* Break the monitor check loop early, if it shall be exiting to be
restarted by pacemaker.
* Do not recheck the master status and do not update the master score,
if the node was already detected by monitor as OCF_RUNNING_MASTER.
By that point, the running and healthy master shall not be checked
against other nodes uptime as it is pointless and only takes more
time and resources for the action monitor to finish.
* Fail early, if monitor detected the node as OCF_RUNNING_MASTER, but
the rabbit beam process is not running
* For OCF_CHECK_LEVEL>20, exclude the current node from the check
loop as we already checked it before
Related Fuel bug:
https://launchpad.net/bugs/1531838
Signed-off-by: Bogdan Dobrelya <bdobrelia@mirantis.com>
|
| |\ \ \ \ \
| |/ / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Conflicts:
src/rabbit.erl
src/rabbit_error_logger_file_h.erl
src/rabbit_sasl_report_file_h.erl
|
| | |\ \ \ \
| | | | | |
| | | | | | |
Fix 'rabbitmqctl rotate_logs' behaviour
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
When 'rabbitmqctl rotate_logs' is called without any parameters, it
clears logs unconditionally. And given that this form is used in
logrotate config files, this could result in data loss.
This could be reproduced with following scenario:
1) 'max_size' is set globally in lograte config
2) One of two rabbitmq logs is greater than that limit
3) Daily logrotate run was already performed today, and now we
are calling it manually. In this case logrotate will copy only file
that is bigger than max_size, but 'rabbitmqctl rotate_logs' will
clear both of them - leading to data loss.
|
| |\ \ \ \ \ \
| |/ / / / / |
|
| | |\ \ \ \ \
| | |_|/ / /
| |/| | | | |
Limit number of unique node names for rabbitmqctl
|
| | |/ / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
It prevents atom table overflow in a long running broker.
Fixes #549
|
| |\ \ \ \ \
| | | | | |
| | | | | | |
Switch to Lager for logging
|