diff --git hcatalog/src/test/e2e/templeton/deployers/config/webhcat/webhcat-site.xml hcatalog/src/test/e2e/templeton/deployers/config/webhcat/webhcat-site.xml index 00c660c..d8a5df1 100644 --- hcatalog/src/test/e2e/templeton/deployers/config/webhcat/webhcat-site.xml +++ hcatalog/src/test/e2e/templeton/deployers/config/webhcat/webhcat-site.xml @@ -77,6 +77,11 @@ shipped to the target node in the cluster to execute Pig job which uses HCat, Hive query, etc. + + templeton.sqoop.path + ${env.SQOOP_HOME}/bin/sqoop + The path to the Sqoop executable. + templeton.controller.mr.child.opts diff --git hcatalog/src/test/e2e/templeton/deployers/env.sh hcatalog/src/test/e2e/templeton/deployers/env.sh index 804f2fd..d66dd94 100755 --- hcatalog/src/test/e2e/templeton/deployers/env.sh +++ hcatalog/src/test/e2e/templeton/deployers/env.sh @@ -30,7 +30,7 @@ export PIG_VERSION=0.12.2-SNAPSHOT export PROJ_HOME=/Users/${USER}/dev/hive export HIVE_HOME=${PROJ_HOME}/packaging/target/apache-hive-${HIVE_VERSION}-bin/apache-hive-${HIVE_VERSION}-bin export HADOOP_HOME=/Users/${USER}/dev/hwxhadoop/hadoop-dist/target/hadoop-${HADOOP_VERSION} -#export SQOOP_HOME=/ +export SQOOP_HOME=/Users/${USER}/dev/sqoop-1.4.4.bin__hadoop-2.0.4-alpha #Make sure Pig is built for the Hadoop version you are running export PIG_TAR_PATH=/Users/${USER}/dev/pig-${PIG_VERSION}-src/build diff --git hcatalog/webhcat/svr/src/main/java/org/apache/hive/hcatalog/templeton/QueueStatusBean.java hcatalog/webhcat/svr/src/main/java/org/apache/hive/hcatalog/templeton/QueueStatusBean.java index 2af17b3..e97b063 100644 --- hcatalog/webhcat/svr/src/main/java/org/apache/hive/hcatalog/templeton/QueueStatusBean.java +++ hcatalog/webhcat/svr/src/main/java/org/apache/hive/hcatalog/templeton/QueueStatusBean.java @@ -32,7 +32,7 @@ public JobStatus status; public JobProfile profile; - public String id; + public final String id; public String parentId; public String percentComplete; public Long exitValue; @@ -40,8 +40,11 @@ public String callback; public String completed; public Map userargs; + public String msg; - public QueueStatusBean() { + public QueueStatusBean(String jobId, String errMsg) { + this.id = jobId; + this.msg = errMsg; } /** diff --git hcatalog/webhcat/svr/src/main/java/org/apache/hive/hcatalog/templeton/Server.java hcatalog/webhcat/svr/src/main/java/org/apache/hive/hcatalog/templeton/Server.java index 0ca8ccc..9b18a4c 100644 --- hcatalog/webhcat/svr/src/main/java/org/apache/hive/hcatalog/templeton/Server.java +++ hcatalog/webhcat/svr/src/main/java/org/apache/hive/hcatalog/templeton/Server.java @@ -1008,8 +1008,15 @@ else if ((jobid != null && job.compareTo(jobid) > 0) || jobid == null) { jobItem.id = job; if (showDetails) { StatusDelegator sd = new StatusDelegator(appConf); - QueueStatusBean statusBean = sd.run(getDoAsUser(), job); - jobItem.detail = statusBean; + try { + jobItem.detail = sd.run(getDoAsUser(), job); + } + catch(Exception ex) { + /*if we could not get status for some reason, log it, and send empty status back with + * just the ID so that caller knows to even look in the log file*/ + LOG.info("Failed to get status detail for jobId='" + job + "'", ex); + jobItem.detail = new QueueStatusBean(job, "Failed to retrieve status; see WebHCat logs"); + } } detailList.add(jobItem); }