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
