You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by xi...@apache.org on 2023/04/26 10:56:04 UTC
[iotdb] branch multi_dir_change_to_seq updated: change hasSpace judgement to ratio
This is an automated email from the ASF dual-hosted git repository.
xingtanzjr pushed a commit to branch multi_dir_change_to_seq
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/multi_dir_change_to_seq by this push:
new f798dd1035 change hasSpace judgement to ratio
f798dd1035 is described below
commit f798dd103549b85a8807d9425d3b19a6c35814f0
Author: Jinrui.Zhang <xi...@gmail.com>
AuthorDate: Wed Apr 26 18:55:53 2023 +0800
change hasSpace judgement to ratio
---
.../java/org/apache/iotdb/commons/utils/JVMCommonUtils.java | 13 +++++++++++--
.../db/conf/directories/strategy/SequenceStrategy.java | 1 +
2 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/node-commons/src/main/java/org/apache/iotdb/commons/utils/JVMCommonUtils.java b/node-commons/src/main/java/org/apache/iotdb/commons/utils/JVMCommonUtils.java
index aa84965997..4add837b9f 100644
--- a/node-commons/src/main/java/org/apache/iotdb/commons/utils/JVMCommonUtils.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/utils/JVMCommonUtils.java
@@ -19,6 +19,7 @@
package org.apache.iotdb.commons.utils;
+import org.apache.iotdb.commons.conf.CommonDescriptor;
import org.apache.iotdb.tsfile.fileSystem.FSFactoryProducer;
import java.io.File;
@@ -34,6 +35,9 @@ public class JVMCommonUtils {
private static final int CPUS = Runtime.getRuntime().availableProcessors();
+ private static final double diskSpaceWarningThreshold =
+ CommonDescriptor.getInstance().getConfig().getDiskSpaceWarningThreshold();
+
/**
* get JDK version.
*
@@ -60,9 +64,14 @@ public class JVMCommonUtils {
return dirFile.getFreeSpace();
}
+ public static double getDiskFreeRatio(String dir) {
+ File dirFile = FSFactoryProducer.getFSFactory().getFile(dir);
+ dirFile.mkdirs();
+ return 1.0 * dirFile.getFreeSpace() / dirFile.getTotalSpace();
+ }
+
public static boolean hasSpace(String dir) {
- // TODO: use ratio to judgement ?
- return getUsableSpace(dir) > 0;
+ return getDiskFreeRatio(dir) > diskSpaceWarningThreshold;
}
public static long getOccupiedSpace(String folderPath) throws IOException {
diff --git a/server/src/main/java/org/apache/iotdb/db/conf/directories/strategy/SequenceStrategy.java b/server/src/main/java/org/apache/iotdb/db/conf/directories/strategy/SequenceStrategy.java
index 4d305fd7b1..717b7c847b 100644
--- a/server/src/main/java/org/apache/iotdb/db/conf/directories/strategy/SequenceStrategy.java
+++ b/server/src/main/java/org/apache/iotdb/db/conf/directories/strategy/SequenceStrategy.java
@@ -18,6 +18,7 @@
*/
package org.apache.iotdb.db.conf.directories.strategy;
+import com.sun.media.jfxmedia.logging.Logger;
import org.apache.iotdb.commons.utils.JVMCommonUtils;
import org.apache.iotdb.db.exception.DiskSpaceInsufficientException;