You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by pr...@apache.org on 2016/07/08 21:04:30 UTC
hive git commit: HIVE-14197: LLAP service driver precondition failure
should include the values (Prasanth Jayachandran reviewed by Siddharth Seth)
Repository: hive
Updated Branches:
refs/heads/master 517848f0b -> 39d46a0f3
HIVE-14197: LLAP service driver precondition failure should include the values (Prasanth Jayachandran reviewed by Siddharth Seth)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/39d46a0f
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/39d46a0f
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/39d46a0f
Branch: refs/heads/master
Commit: 39d46a0f3e37636e102e67ac11ad08348bf4ccc5
Parents: 517848f
Author: Prasanth Jayachandran <pr...@apache.org>
Authored: Fri Jul 8 14:04:15 2016 -0700
Committer: Prasanth Jayachandran <pr...@apache.org>
Committed: Fri Jul 8 14:04:15 2016 -0700
----------------------------------------------------------------------
.../hadoop/hive/llap/cli/LlapServiceDriver.java | 25 ++++++++++++++++----
1 file changed, 20 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/39d46a0f/llap-server/src/java/org/apache/hadoop/hive/llap/cli/LlapServiceDriver.java
----------------------------------------------------------------------
diff --git a/llap-server/src/java/org/apache/hadoop/hive/llap/cli/LlapServiceDriver.java b/llap-server/src/java/org/apache/hadoop/hive/llap/cli/LlapServiceDriver.java
index 98faa2c..0edbe7c 100644
--- a/llap-server/src/java/org/apache/hadoop/hive/llap/cli/LlapServiceDriver.java
+++ b/llap-server/src/java/org/apache/hadoop/hive/llap/cli/LlapServiceDriver.java
@@ -204,7 +204,8 @@ public class LlapServiceDriver {
if (HiveConf.getBoolVar(conf, HiveConf.ConfVars.LLAP_ALLOCATOR_MAPPED) == false) {
// direct heap allocations need to be safer
Preconditions.checkArgument(options.getCache() < options.getSize(),
- "Cache has to be smaller than the container sizing");
+ "Cache size (" + humanReadableByteCount(options.getCache()) + ") has to be smaller" +
+ " than the container sizing (" + humanReadableByteCount(options.getSize()) + ")");
} else if (options.getCache() < options.getSize()) {
LOG.warn("Note that this might need YARN physical memory monitoring to be turned off "
+ "(yarn.nodemanager.pmem-check-enabled=false)");
@@ -212,13 +213,18 @@ public class LlapServiceDriver {
}
if (options.getXmx() != -1) {
Preconditions.checkArgument(options.getXmx() < options.getSize(),
- "Working memory has to be smaller than the container sizing");
+ "Working memory (Xmx=" + humanReadableByteCount(options.getXmx()) + ") has to be" +
+ " smaller than the container sizing (" +
+ humanReadableByteCount(options.getSize()) + ")");
}
if (HiveConf.getBoolVar(conf, HiveConf.ConfVars.LLAP_ALLOCATOR_DIRECT)
&& false == HiveConf.getBoolVar(conf, HiveConf.ConfVars.LLAP_ALLOCATOR_MAPPED)) {
// direct and not memory mapped
Preconditions.checkArgument(options.getXmx() + options.getCache() < options.getSize(),
- "Working memory + cache has to be smaller than the container sizing ");
+ "Working memory + cache (Xmx="+ humanReadableByteCount(options.getXmx()) +
+ " + cache=" + humanReadableByteCount(options.getCache()) + ")"
+ + " has to be smaller than the container sizing (" +
+ humanReadableByteCount(options.getSize()) + ")");
}
}
@@ -228,7 +234,8 @@ public class LlapServiceDriver {
if (options.getSize() != -1) {
containerSize = options.getSize() / (1024 * 1024);
Preconditions.checkArgument(containerSize >= minAlloc,
- "Container size should be greater than minimum allocation(%s)", minAlloc + "m");
+ "Container size (" + humanReadableByteCount(options.getSize()) + ") should be greater" +
+ " than minimum allocation(" + humanReadableByteCount(minAlloc * 1024L * 1024L) + ")");
conf.setLong(ConfVars.LLAP_DAEMON_YARN_CONTAINER_MB.varname, containerSize);
propsDirectOptions.setProperty(ConfVars.LLAP_DAEMON_YARN_CONTAINER_MB.varname, String.valueOf(containerSize));
}
@@ -582,5 +589,13 @@ public class LlapServiceDriver {
lfs.copyFromLocalFile(new Path(conf.getResource(f).toString()), confPath);
}
-
+ private String humanReadableByteCount(long bytes) {
+ int unit = 1024;
+ if (bytes < unit) {
+ return bytes + "B";
+ }
+ int exp = (int) (Math.log(bytes) / Math.log(unit));
+ String suffix = "KMGTPE".charAt(exp-1) + "";
+ return String.format("%.2f%sB", bytes / Math.pow(unit, exp), suffix);
+ }
}