From fb113a859b82cc22a83cdf97bd811bb2f2a5aca0 Mon Sep 17 00:00:00 2001 From: shroman Date: Fri, 23 Dec 2016 15:38:50 +0900 Subject: [PATCH 1/2] [ROCKETMQ-5] Avoid creating directories in UtilAll#getDiskPartitionSpaceUsedPercent() Jira issue: https://issues.apache.org/jira/browse/ROCKETMQ-5 --- .../java/com/alibaba/rocketmq/common/UtilAll.java | 14 +++++++------- .../com/alibaba/rocketmq/common/UtilAllTest.java | 13 ++++++++++++- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/rocketmq-common/src/main/java/com/alibaba/rocketmq/common/UtilAll.java b/rocketmq-common/src/main/java/com/alibaba/rocketmq/common/UtilAll.java index 4429e3d4105..7c8af2d5f63 100644 --- a/rocketmq-common/src/main/java/com/alibaba/rocketmq/common/UtilAll.java +++ b/rocketmq-common/src/main/java/com/alibaba/rocketmq/common/UtilAll.java @@ -194,16 +194,16 @@ public static double getDiskPartitionSpaceUsedPercent(final String path) { try { File file = new File(path); - if (!file.exists()) { - boolean result = file.mkdirs(); - if (!result) { - } - } + + if (!file.exists()) + return -1; long totalSpace = file.getTotalSpace(); - long freeSpace = file.getFreeSpace(); - long usedSpace = totalSpace - freeSpace; + if (totalSpace > 0) { + long freeSpace = file.getFreeSpace(); + long usedSpace = totalSpace - freeSpace; + return usedSpace / (double) totalSpace; } } catch (Exception e) { diff --git a/rocketmq-common/src/test/java/com/alibaba/rocketmq/common/UtilAllTest.java b/rocketmq-common/src/test/java/com/alibaba/rocketmq/common/UtilAllTest.java index 7764fcccfc1..85694371424 100644 --- a/rocketmq-common/src/test/java/com/alibaba/rocketmq/common/UtilAllTest.java +++ b/rocketmq-common/src/test/java/com/alibaba/rocketmq/common/UtilAllTest.java @@ -22,7 +22,7 @@ import java.net.URL; import java.util.Properties; -import static org.junit.Assert.assertTrue; +import static org.junit.Assert.*; public class UtilAllTest { @@ -87,6 +87,17 @@ public void test_getpid() { } + @Test + public void test_getDiskPartitionSpaceUsedPercent() { + assertEquals(-1, UtilAll.getDiskPartitionSpaceUsedPercent(null), 0); + assertEquals(-1, UtilAll.getDiskPartitionSpaceUsedPercent(""), 0); + + assertEquals(-1, UtilAll.getDiskPartitionSpaceUsedPercent("nonExistingPath"), 0); + + String tmpDir = System.getProperty("java.io.tmpdir"); + assertNotEquals(-1, UtilAll.getDiskPartitionSpaceUsedPercent(tmpDir), 0); + } + @Test public void test_isBlank() { { From 27bc82d20dd812a00522fa360ca975a6bf1fcfd3 Mon Sep 17 00:00:00 2001 From: shroman Date: Fri, 23 Dec 2016 15:45:02 +0900 Subject: [PATCH 2/2] Jira issue: https://issues.apache.org/jira/browse/ROCKETMQ-5 Expanded package declarations. --- .../test/java/com/alibaba/rocketmq/common/UtilAllTest.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/rocketmq-common/src/test/java/com/alibaba/rocketmq/common/UtilAllTest.java b/rocketmq-common/src/test/java/com/alibaba/rocketmq/common/UtilAllTest.java index 85694371424..5ed919c55dc 100644 --- a/rocketmq-common/src/test/java/com/alibaba/rocketmq/common/UtilAllTest.java +++ b/rocketmq-common/src/test/java/com/alibaba/rocketmq/common/UtilAllTest.java @@ -22,7 +22,9 @@ import java.net.URL; import java.util.Properties; -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.assertNotEquals; public class UtilAllTest {