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");
+    }
+  }
+
 }