ARTEMIS-2825 wrong calc for DiskStoreUsagePercentage
The calculation used by ActiveMQServerControlImpl.getDiskStoreUsagePercentage() is incorrect. It uses disk space info with global-max-size which is for address memory. Also, the existing getDiskStoreUsage() method *already* returns a percentage of total disk store usage so this method seems redundant.
This commit is contained in:
parent
74698f0bcf
commit
26091f1907
|
@ -191,7 +191,7 @@ public class NodeCheck extends CheckAbstract {
|
||||||
thresholdValue = diskUsage;
|
thresholdValue = diskUsage;
|
||||||
}
|
}
|
||||||
|
|
||||||
checkNodeUsage(context, "getDiskStoreUsagePercentage", thresholdValue);
|
checkNodeUsage(context, "getDiskStoreUsage", thresholdValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void checkNodeMemoryUsage(final CheckContext context) throws Exception {
|
private void checkNodeMemoryUsage(final CheckContext context) throws Exception {
|
||||||
|
|
|
@ -455,12 +455,6 @@ public interface ActiveMQServerControl {
|
||||||
@Attribute(desc = "Memory used by all the addresses on broker as a percentage of global maximum limit")
|
@Attribute(desc = "Memory used by all the addresses on broker as a percentage of global maximum limit")
|
||||||
int getAddressMemoryUsagePercentage();
|
int getAddressMemoryUsagePercentage();
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the storage used by disk store
|
|
||||||
*/
|
|
||||||
@Attribute(desc = "Memory used by the disk store")
|
|
||||||
int getDiskStoreUsagePercentage();
|
|
||||||
|
|
||||||
// Operations ----------------------------------------------------
|
// Operations ----------------------------------------------------
|
||||||
@Operation(desc = "Isolate the broker", impact = MBeanOperationInfo.ACTION)
|
@Operation(desc = "Isolate the broker", impact = MBeanOperationInfo.ACTION)
|
||||||
boolean freezeReplication();
|
boolean freezeReplication();
|
||||||
|
|
|
@ -134,8 +134,6 @@ import org.apache.activemq.artemis.utils.SecurityFormatter;
|
||||||
import org.apache.activemq.artemis.utils.collections.TypedProperties;
|
import org.apache.activemq.artemis.utils.collections.TypedProperties;
|
||||||
import org.jboss.logging.Logger;
|
import org.jboss.logging.Logger;
|
||||||
|
|
||||||
import static org.apache.activemq.artemis.core.server.files.FileStoreMonitor.calculateUsage;
|
|
||||||
|
|
||||||
public class ActiveMQServerControlImpl extends AbstractControl implements ActiveMQServerControl, NotificationEmitter, org.apache.activemq.artemis.core.server.management.NotificationListener {
|
public class ActiveMQServerControlImpl extends AbstractControl implements ActiveMQServerControl, NotificationEmitter, org.apache.activemq.artemis.core.server.management.NotificationListener {
|
||||||
// Constants -----------------------------------------------------
|
// Constants -----------------------------------------------------
|
||||||
private static final Logger logger = Logger.getLogger(ActiveMQServerControlImpl.class);
|
private static final Logger logger = Logger.getLogger(ActiveMQServerControlImpl.class);
|
||||||
|
@ -753,26 +751,6 @@ public class ActiveMQServerControlImpl extends AbstractControl implements Active
|
||||||
return (int) result;
|
return (int) result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public int getDiskStoreUsagePercentage() {
|
|
||||||
if (AuditLogger.isEnabled()) {
|
|
||||||
AuditLogger.getDiskStoreUsagePercentage(this.server);
|
|
||||||
}
|
|
||||||
long globalMaxSize = getGlobalMaxSize();
|
|
||||||
// no max size set implies 0% used
|
|
||||||
if (globalMaxSize <= 0) {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
long diskUsed = getDiskStoreUsage();
|
|
||||||
if (diskUsed <= 0) {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
double result = 100 * calculateUsage(diskUsed, globalMaxSize);
|
|
||||||
return (int) result;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean freezeReplication() {
|
public boolean freezeReplication() {
|
||||||
if (AuditLogger.isEnabled()) {
|
if (AuditLogger.isEnabled()) {
|
||||||
|
|
|
@ -773,16 +773,6 @@ public class ActiveMQServerControlUsingCoreTest extends ActiveMQServerControlTes
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public int getDiskStoreUsagePercentage() {
|
|
||||||
try {
|
|
||||||
return (Integer) proxy.invokeOperation(Integer.TYPE, "getDiskUseStorePercentage");
|
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean freezeReplication() {
|
public boolean freezeReplication() {
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue