You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by nz...@apache.org on 2011/03/18 23:08:43 UTC
svn commit: r1083089 - in /hive/trunk:
ql/src/java/org/apache/hadoop/hive/ql/processors/AddResourceProcessor.java
ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java
service/src/test/org/apache/hadoop/hive/service/TestHiveServer.java
Author: nzhang
Date: Fri Mar 18 22:08:43 2011
New Revision: 1083089
URL: http://svn.apache.org/viewvc?rev=1083089&view=rev
Log:
HIVE-1976. Exception should be thrown when invalid jar,file,archive is given to add command (Chinna Rao Lalam via Ning Zhang)
Modified:
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/processors/AddResourceProcessor.java
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java
hive/trunk/service/src/test/org/apache/hadoop/hive/service/TestHiveServer.java
Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/processors/AddResourceProcessor.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/processors/AddResourceProcessor.java?rev=1083089&r1=1083088&r2=1083089&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/processors/AddResourceProcessor.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/processors/AddResourceProcessor.java Fri Mar 18 22:08:43 2011
@@ -51,7 +51,11 @@ public class AddResourceProcessor implem
return new CommandProcessorResponse(1);
}
for (int i = 1; i < tokens.length; i++) {
- ss.add_resource(t, tokens[i]);
+ String resourceFile = ss.add_resource(t, tokens[i]);
+ if(resourceFile == null){
+ String errMsg = tokens[i]+" does not exist.";
+ return new CommandProcessorResponse(1,errMsg,null);
+ }
}
return new CommandProcessorResponse(0);
}
Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java?rev=1083089&r1=1083088&r2=1083089&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java Fri Mar 18 22:08:43 2011
@@ -512,9 +512,9 @@ public class SessionState {
private final HashMap<ResourceType, HashSet<String>> resource_map =
new HashMap<ResourceType, HashSet<String>>();
- public void add_resource(ResourceType t, String value) {
+ public String add_resource(ResourceType t, String value) {
// By default don't convert to unix
- add_resource(t, value, false);
+ return add_resource(t, value, false);
}
public String add_resource(ResourceType t, String value, boolean convertToUnix) {
Modified: hive/trunk/service/src/test/org/apache/hadoop/hive/service/TestHiveServer.java
URL: http://svn.apache.org/viewvc/hive/trunk/service/src/test/org/apache/hadoop/hive/service/TestHiveServer.java?rev=1083089&r1=1083088&r2=1083089&view=diff
==============================================================================
--- hive/trunk/service/src/test/org/apache/hadoop/hive/service/TestHiveServer.java (original)
+++ hive/trunk/service/src/test/org/apache/hadoop/hive/service/TestHiveServer.java Fri Mar 18 22:08:43 2011
@@ -50,12 +50,14 @@ public class TestHiveServer extends Test
private final HiveConf conf;
private boolean standAloneServer = false;
private TTransport transport;
+ private final String invalidPath;
public TestHiveServer(String name) {
super(name);
conf = new HiveConf(TestHiveServer.class);
String dataFileDir = conf.get("test.data.files").replace('\\', '/')
.replace("c:", "");
+ invalidPath = dataFileDir+"/invalidpath/";
dataFilePath = new Path(dataFileDir, "kv1.txt");
// See data/conf/hive-site.xml
String paramStr = System.getProperty("test.service.standalone.server");
@@ -347,4 +349,40 @@ public class TestHiveServer extends Test
o = ds.deserialize(new BytesWritable(row.getBytes()));
}
+ public void testAddJarShouldFailIfJarNotExist() throws Exception {
+ boolean queryExecutionFailed = false;
+ try {
+ client.execute("add jar " + invalidPath + "sample.jar");
+ } catch (Exception e) {
+ queryExecutionFailed = true;
+ }
+ if (!queryExecutionFailed) {
+ fail("It should throw exception since jar does not exist");
+ }
+ }
+
+ public void testAddFileShouldFailIfFileNotExist() throws Exception {
+ boolean queryExecutionFailed = false;
+ try {
+ client.execute("add file " + invalidPath + "sample.txt");
+ } catch (Exception e) {
+ queryExecutionFailed = true;
+ }
+ if (!queryExecutionFailed) {
+ fail("It should throw exception since file does not exist");
+ }
+ }
+
+ public void testAddArchiveShouldFailIfFileNotExist() throws Exception {
+ boolean queryExecutionFailed = false;
+ try {
+ client.execute("add archive " + invalidPath + "sample.zip");
+ } catch (Exception e) {
+ queryExecutionFailed = true;
+ }
+ if (!queryExecutionFailed) {
+ fail("It should trow exception since archive does not exist");
+ }
+ }
+
}