|
@@ -123,19 +123,23 @@ public class RestAllocationAction extends AbstractCatAction {
|
|
|
shardCount = allocs.lget();
|
|
|
}
|
|
|
|
|
|
- long used = nodeStats.getFs().getTotal().getTotal().bytes() - nodeStats.getFs().getTotal().getAvailable().bytes();
|
|
|
- long avail = nodeStats.getFs().getTotal().getAvailable().bytes();
|
|
|
-
|
|
|
+ ByteSizeValue total = nodeStats.getFs().getTotal().getTotal();
|
|
|
+ ByteSizeValue avail = nodeStats.getFs().getTotal().getAvailable();
|
|
|
+ //if we don't know how much we use (non data nodes), it means 0
|
|
|
+ long used = 0;
|
|
|
short diskPercent = -1;
|
|
|
- if (used >= 0 && avail >= 0) {
|
|
|
- diskPercent = (short) (used * 100 / (used + avail));
|
|
|
+ if (total.bytes() > 0) {
|
|
|
+ used = total.bytes() - avail.bytes();
|
|
|
+ if (used >= 0 && avail.bytes() >= 0) {
|
|
|
+ diskPercent = (short) (used * 100 / (used + avail.bytes()));
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
table.startRow();
|
|
|
table.addCell(shardCount);
|
|
|
table.addCell(used < 0 ? null : new ByteSizeValue(used));
|
|
|
- table.addCell(avail < 0 ? null : new ByteSizeValue(avail));
|
|
|
- table.addCell(nodeStats.getFs().getTotal().getTotal());
|
|
|
+ table.addCell(avail.bytes() < 0 ? null : avail);
|
|
|
+ table.addCell(total.bytes() < 0 ? null : total);
|
|
|
table.addCell(diskPercent < 0 ? null : diskPercent);
|
|
|
table.addCell(node.getHostName());
|
|
|
table.addCell(node.getHostAddress());
|