106 lines
2.6 KiB
Plaintext
106 lines
2.6 KiB
Plaintext
<div class="updatable">
|
|
<%
|
|
var partitions = [];
|
|
for (var i = 0; i < nodes.length; i++) {
|
|
var node = nodes[i];
|
|
if (node.partitions != undefined && node.partitions.length != 0) {
|
|
partitions.push({'node': node.name,
|
|
'others': node.partitions});
|
|
}
|
|
}
|
|
if (partitions.length > 0) {
|
|
%>
|
|
<p class="status-error">
|
|
Network partition detected<br/><br/>
|
|
Mnesia reports that this RabbitMQ cluster has experienced a
|
|
network partition. There is a risk of losing data. Please read
|
|
<a href="https://www.rabbitmq.com/partitions.html">RabbitMQ
|
|
documentation about network partitions and the possible solutions</a>.
|
|
</p>
|
|
<p>
|
|
The nature of the partition is as follows:
|
|
</p>
|
|
<table class="list">
|
|
<tr>
|
|
<th>Node</th><th>Was partitioned from</th>
|
|
</tr>
|
|
|
|
<%
|
|
for (var i = 0; i < partitions.length; i++) {
|
|
var partition = partitions[i];
|
|
%>
|
|
<tr<%= alt_rows(i)%>>
|
|
<td><%= fmt_node(partition.node) %></td>
|
|
<td>
|
|
<%
|
|
for (var j = 0; j < partition.others.length; j++) {
|
|
var other = partition.others[j];
|
|
%>
|
|
<%= other %><br/>
|
|
<% } %>
|
|
</td>
|
|
</tr>
|
|
<% } %>
|
|
</table>
|
|
<p>
|
|
While running in this partitioned state, changes (such as queue or
|
|
exchange declaration and binding) which take place in one partition
|
|
will not be visible to other partition(s). Other behaviour is not
|
|
guaranteed.
|
|
</p>
|
|
<p>
|
|
<a target="_blank"
|
|
href="https://www.rabbitmq.com/partitions.html">More information on
|
|
network partitions.</a>
|
|
</p>
|
|
<% } %>
|
|
<%
|
|
var ticktime = null;
|
|
var ticktimes_unequal = false;
|
|
for (var i = 0; i < nodes.length; i++) {
|
|
var node_ticktime = nodes[i].net_ticktime;
|
|
if (node_ticktime != undefined) {
|
|
|
|
if (ticktime != null && node_ticktime != ticktime) {
|
|
ticktimes_unequal = true;
|
|
}
|
|
ticktime = nodes[i].net_ticktime;
|
|
}
|
|
}
|
|
if (ticktimes_unequal) {
|
|
%>
|
|
<p class="status-error">
|
|
The <code>kernel</code> <code>net_ticktime</code> values are set
|
|
differently for different nodes in this cluster.
|
|
</p>
|
|
<p>
|
|
The values are:
|
|
</p>
|
|
<table class="list">
|
|
<tr><th>Node</th><th>net_ticktime</th></tr>
|
|
<%
|
|
for (var i = 0; i < nodes.length; i++) {
|
|
%>
|
|
<tr<%= alt_rows(i)%>>
|
|
<td><%= nodes[i].name %></td>
|
|
<td><%= nodes[i].net_ticktime %></td>
|
|
</tr>
|
|
<%
|
|
}
|
|
%>
|
|
</table>
|
|
<p>
|
|
This is a dangerous configuration; use of substantially
|
|
unequal <code>net_timetime</code> values can lead to partitions
|
|
being falsely detected.
|
|
</p>
|
|
<p>
|
|
<a target="_blank"
|
|
href="https://www.rabbitmq.com/nettick.html">More information on
|
|
<code>net_ticktime</code>.</a>
|
|
</p>
|
|
<%
|
|
}
|
|
%>
|
|
</div>
|