diff --git kudu-handler/pom.xml kudu-handler/pom.xml
index 4082840592..6f02bd0ab8 100644
--- kudu-handler/pom.xml
+++ kudu-handler/pom.xml
@@ -39,20 +39,21 @@
org.apache.hive
hive-exec
${project.version}
+ provided
org.apache.hadoop
hadoop-common
- provided
${hadoop.version}
+ provided
true
org.apache.hadoop
- provided
hadoop-mapreduce-client-core
${hadoop.version}
+ provided
true
@@ -151,5 +152,61 @@
**/*.java
+
+ dev-fast-build
+
+
+ skipShade
+ !true
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-shade-plugin
+ ${maven.shade.plugin.version}
+
+
+ package
+
+ shade
+
+
+ false
+
+
+ org.apache.kudu:kudu-client
+ com.stumbleupon:async
+
+
+
+
+ org.apache.kudu
+ org.apache.hive.kudu.org.apache.kudu
+
+
+ com.stumbleupon.async
+ org.apache.hive.kudu.com.stumbleupon.async
+
+
+
+
+ *:*
+
+ META-INF/*.SF
+ META-INF/*.DSA
+ META-INF/*.RSA
+ static/
+
+
+
+
+
+
+
+
+
+
diff --git kudu-handler/src/java/org/apache/hadoop/hive/kudu/KuduHiveUtils.java kudu-handler/src/java/org/apache/hadoop/hive/kudu/KuduHiveUtils.java
index 3b89e5dcd0..f1163fabcf 100644
--- kudu-handler/src/java/org/apache/hadoop/hive/kudu/KuduHiveUtils.java
+++ kudu-handler/src/java/org/apache/hadoop/hive/kudu/KuduHiveUtils.java
@@ -66,15 +66,16 @@ public static Configuration createOverlayedConf(Configuration conf, Properties t
}
public static String getMasterAddresses(Configuration conf) throws IOException {
- // Load the default configuration.
- String masterAddresses = HiveConf.getVar(conf, HiveConf.ConfVars.HIVE_KUDU_MASTER_ADDRESSES_DEFAULT);
+ // Use the table property if it exists.
+ String masterAddresses = conf.get(KUDU_MASTER_ADDRS_KEY);
if (StringUtils.isEmpty(masterAddresses)) {
- throw new IOException("Kudu master addresses are not specified with " +
- HiveConf.ConfVars.HIVE_KUDU_MASTER_ADDRESSES_DEFAULT.varname);
+ // Fall back to the default configuration.
+ masterAddresses = HiveConf.getVar(conf, HiveConf.ConfVars.HIVE_KUDU_MASTER_ADDRESSES_DEFAULT);
}
- // Override with the table configuration if it exists.
- if (!StringUtils.isEmpty(conf.get(KUDU_MASTER_ADDRS_KEY))) {
- masterAddresses = conf.get(KUDU_MASTER_ADDRS_KEY);
+ if (StringUtils.isEmpty(masterAddresses)) {
+ throw new IOException("Kudu master addresses are not specified in the table property (" +
+ KUDU_MASTER_ADDRS_KEY + "), or default configuration (" +
+ HiveConf.ConfVars.HIVE_KUDU_MASTER_ADDRESSES_DEFAULT.varname + ").");
}
return masterAddresses;
}
diff --git kudu-handler/src/java/org/apache/hadoop/hive/kudu/KuduStorageHandler.java kudu-handler/src/java/org/apache/hadoop/hive/kudu/KuduStorageHandler.java
index a9c6968f16..8252fe9081 100644
--- kudu-handler/src/java/org/apache/hadoop/hive/kudu/KuduStorageHandler.java
+++ kudu-handler/src/java/org/apache/hadoop/hive/kudu/KuduStorageHandler.java
@@ -137,7 +137,7 @@ public void configureJobConf(TableDesc tableDesc, JobConf jobConf) {
jobConf.set(HiveConf.ConfVars.HIVE_AM_SPLIT_GENERATION.toString(), Boolean.FALSE.toString());
}
try {
- addDependencyJars(jobConf, KuduRecordWriter.class);
+ addDependencyJars(jobConf, KuduStorageHandler.class);
} catch (IOException e) {
Throwables.propagate(e);
}
diff --git kudu-handler/src/test/org/apache/hadoop/hive/kudu/TestKuduSerDe.java kudu-handler/src/test/org/apache/hadoop/hive/kudu/TestKuduSerDe.java
index 1713a50110..da2a9899ea 100644
--- kudu-handler/src/test/org/apache/hadoop/hive/kudu/TestKuduSerDe.java
+++ kudu-handler/src/test/org/apache/hadoop/hive/kudu/TestKuduSerDe.java
@@ -152,7 +152,7 @@ public void testMissingMasters() throws Exception {
fail("Should fail on missing table");
} catch (SerDeException ex) {
assertThat(ex.getMessage(),
- containsString("Kudu master addresses are not specified with hive.kudu.master.addresses.default"));
+ containsString("Kudu master addresses are not specified in the table property"));
}
}
diff --git kudu-handler/src/test/results/negative/kudu_config.q.out kudu-handler/src/test/results/negative/kudu_config.q.out
index 066aad4f9b..b0071e7cd6 100644
--- kudu-handler/src/test/results/negative/kudu_config.q.out
+++ kudu-handler/src/test/results/negative/kudu_config.q.out
@@ -4,4 +4,4 @@ TBLPROPERTIES ("kudu.table_name" = "default.kudu_kv")
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@kv_table
-FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.ddl.DDLTask. java.lang.RuntimeException: MetaException(message:org.apache.hadoop.hive.serde2.SerDeException java.io.IOException: Kudu master addresses are not specified with hive.kudu.master.addresses.default)
+FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.ddl.DDLTask. java.lang.RuntimeException: MetaException(message:org.apache.hadoop.hive.serde2.SerDeException java.io.IOException: Kudu master addresses are not specified in the table property (kudu.master_addresses), or default configuration (hive.kudu.master.addresses.default).)