TAJO-1696: Resource calculator should consider the requested disk resource at 
the first stage. (jihoon)

Closes #640


Project: http://git-wip-us.apache.org/repos/asf/tajo/repo
Commit: http://git-wip-us.apache.org/repos/asf/tajo/commit/95f708ac
Tree: http://git-wip-us.apache.org/repos/asf/tajo/tree/95f708ac
Diff: http://git-wip-us.apache.org/repos/asf/tajo/diff/95f708ac

Branch: refs/heads/index_support
Commit: 95f708ac9e0f723780fac259110ec8a737ecd0b9
Parents: 62534a8
Author: Jihoon Son <[email protected]>
Authored: Wed Jul 22 13:42:35 2015 +0900
Committer: Jihoon Son <[email protected]>
Committed: Wed Jul 22 13:42:35 2015 +0900

----------------------------------------------------------------------
 CHANGES                                                        | 3 +++
 .../org/apache/tajo/resource/DefaultResourceCalculator.java    | 6 +++++-
 2 files changed, 8 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tajo/blob/95f708ac/CHANGES
----------------------------------------------------------------------
diff --git a/CHANGES b/CHANGES
index cbef908..1c01e2a 100644
--- a/CHANGES
+++ b/CHANGES
@@ -29,6 +29,9 @@ Release 0.11.0 - unreleased
 
   IMPROVEMENT
 
+    TAJO-1696: Resource calculator should consider the requested disk resource 
+    at the first stage. (jihoon)
+
     TAJO-1695: Shuffle fetcher executor should be consider random writing.
     (jinho)
 

http://git-wip-us.apache.org/repos/asf/tajo/blob/95f708ac/tajo-core/src/main/java/org/apache/tajo/resource/DefaultResourceCalculator.java
----------------------------------------------------------------------
diff --git 
a/tajo-core/src/main/java/org/apache/tajo/resource/DefaultResourceCalculator.java
 
b/tajo-core/src/main/java/org/apache/tajo/resource/DefaultResourceCalculator.java
index 15ec845..63a5965 100644
--- 
a/tajo-core/src/main/java/org/apache/tajo/resource/DefaultResourceCalculator.java
+++ 
b/tajo-core/src/main/java/org/apache/tajo/resource/DefaultResourceCalculator.java
@@ -27,8 +27,12 @@ public class DefaultResourceCalculator extends 
ResourceCalculator {
 
   @Override
   public int computeAvailableContainers(NodeResource available, NodeResource 
required) {
-    return Math.min(available.getMemory() / required.getMemory(),
+    int availableContainer = Math.min(available.getMemory() / 
required.getMemory(),
         available.getVirtualCores() / required.getVirtualCores());
+    if (required.getDisks() > 0) {
+      availableContainer = Math.min(availableContainer, available.getDisks() / 
required.getDisks());
+    }
+    return availableContainer;
   }
 
   @Override

Reply via email to