You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@asterixdb.apache.org by mb...@apache.org on 2018/08/31 20:20:35 UTC
[11/16] asterixdb git commit: [NO ISSUE][STO] Add API to Get Total
Disk Usage
[NO ISSUE][STO] Add API to Get Total Disk Usage
- user model changes: no
- storage format changes: no
- interface changes: yes
Details:
- Add new API to get total disk usage of all
NC io devices.
Change-Id: Iba1538205dbadefdddd8b50be6373dbe7525d0ef
Reviewed-on: https://asterix-gerrit.ics.uci.edu/2943
Sonar-Qube: Jenkins <je...@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <je...@fulliautomatix.ics.uci.edu>
Reviewed-by: Till Westmann <ti...@apache.org>
Integration-Tests: Jenkins <je...@fulliautomatix.ics.uci.edu>
Project: http://git-wip-us.apache.org/repos/asf/asterixdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/asterixdb/commit/ecbb73fd
Tree: http://git-wip-us.apache.org/repos/asf/asterixdb/tree/ecbb73fd
Diff: http://git-wip-us.apache.org/repos/asf/asterixdb/diff/ecbb73fd
Branch: refs/heads/master
Commit: ecbb73fd6e9ec9737b9db5d822b5e2c97638a366
Parents: 8c88975
Author: Murtadha Hubail <mh...@apache.org>
Authored: Fri Aug 31 04:06:01 2018 +0300
Committer: Murtadha Hubail <mh...@apache.org>
Committed: Thu Aug 30 23:34:46 2018 -0700
----------------------------------------------------------------------
.../main/java/org/apache/hyracks/api/io/IIOManager.java | 7 +++++++
.../java/org/apache/hyracks/control/nc/io/IOManager.java | 10 ++++++++++
2 files changed, 17 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ecbb73fd/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/io/IIOManager.java
----------------------------------------------------------------------
diff --git a/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/io/IIOManager.java b/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/io/IIOManager.java
index ff1e47f..962f826 100644
--- a/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/io/IIOManager.java
+++ b/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/io/IIOManager.java
@@ -97,4 +97,11 @@ public interface IIOManager extends Closeable {
* @throws HyracksDataException
*/
FileReference createWorkspaceFile(String prefix) throws HyracksDataException;
+
+ /**
+ * Gets the total disk usage in bytes of this {@link IIOManager} io devices handles.
+ *
+ * @return the total disk usage in bytes
+ */
+ long getTotalDiskUsage();
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ecbb73fd/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/io/IOManager.java
----------------------------------------------------------------------
diff --git a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/io/IOManager.java b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/io/IOManager.java
index d13ca8d..b5cb21a 100644
--- a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/io/IOManager.java
+++ b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/io/IOManager.java
@@ -36,6 +36,7 @@ import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
+import org.apache.commons.io.FileUtils;
import org.apache.hyracks.api.exceptions.ErrorCode;
import org.apache.hyracks.api.exceptions.HyracksDataException;
import org.apache.hyracks.api.io.FileReference;
@@ -416,4 +417,13 @@ public class IOManager implements IIOManager {
Thread.currentThread().interrupt();
}
}
+
+ @Override
+ public long getTotalDiskUsage() {
+ long totalSize = 0;
+ for (IODeviceHandle handle : ioDevices) {
+ totalSize += FileUtils.sizeOfDirectory(handle.getMount());
+ }
+ return totalSize;
+ }
}