diff --git a/broker/src/main/java/org/apache/rocketmq/broker/processor/SendMessageProcessor.java b/broker/src/main/java/org/apache/rocketmq/broker/processor/SendMessageProcessor.java index 9c42c808bf9ae8b1261386e79b55244a48b231f5..1c7f860b04f3b5d0e71ebc54ed45d4306647dfd4 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/processor/SendMessageProcessor.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/processor/SendMessageProcessor.java @@ -636,7 +636,7 @@ public class SendMessageProcessor extends AbstractSendMessageProcessor implement } private String diskUtil() { - double physicRatio = -1; + double physicRatio = 100; String storePath = this.brokerController.getMessageStoreConfig().getStorePathCommitLog(); if (storePath.contains(MessageStoreConfig.MULTI_PATH_SPLITTER)) { String[] paths = storePath.trim().split(MessageStoreConfig.MULTI_PATH_SPLITTER); diff --git a/store/src/main/java/org/apache/rocketmq/store/DefaultMessageStore.java b/store/src/main/java/org/apache/rocketmq/store/DefaultMessageStore.java index 942c10b7266c160ea98ec92f5bd3aec38f5c545d..0af4c3c0ddd6b70eda500ca847f774d3bca373d4 100644 --- a/store/src/main/java/org/apache/rocketmq/store/DefaultMessageStore.java +++ b/store/src/main/java/org/apache/rocketmq/store/DefaultMessageStore.java @@ -785,14 +785,14 @@ public class DefaultMessageStore implements MessageStore { String commitLogStorePath = DefaultMessageStore.this.getMessageStoreConfig().getStorePathCommitLog(); if (commitLogStorePath.contains(MessageStoreConfig.MULTI_PATH_SPLITTER)) { - double maxValue = Double.MIN_VALUE; + double minPhysicsUsedRatio = Double.MAX_VALUE; String[] paths = commitLogStorePath.trim().split(MessageStoreConfig.MULTI_PATH_SPLITTER); for (String clPath : paths) { double physicRatio = UtilAll.getDiskPartitionSpaceUsedPercent(clPath); result.put(RunningStats.commitLogDiskRatio.name() + "_" + clPath, String.valueOf(physicRatio)); - maxValue = Math.max(maxValue, physicRatio); + minPhysicsUsedRatio = Math.min(minPhysicsUsedRatio, physicRatio); } - result.put(RunningStats.commitLogDiskRatio.name(), String.valueOf(maxValue)); + result.put(RunningStats.commitLogDiskRatio.name(), String.valueOf(minPhysicsUsedRatio)); } else { String storePathPhysic = DefaultMessageStore.this.getMessageStoreConfig().getStorePathCommitLog(); double physicRatio = UtilAll.getDiskPartitionSpaceUsedPercent(storePathPhysic);