You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by ha...@apache.org on 2014/04/16 02:20:04 UTC

svn commit: r1587764 - /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java

Author: hashutosh
Date: Wed Apr 16 00:20:04 2014
New Revision: 1587764

URL: http://svn.apache.org/r1587764
Log:
HIVE-3595 : Hive should adapt new FsShell commands since Hadoop 2 has changed FsShell argument structures (Navis via Ashutosh Chauhan)

Modified:
    hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java?rev=1587764&r1=1587763&r2=1587764&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java Wed Apr 16 00:20:04 2014
@@ -105,6 +105,7 @@ import org.apache.hadoop.hive.ql.session
 import org.apache.hadoop.hive.serde2.Deserializer;
 import org.apache.hadoop.hive.serde2.SerDeException;
 import org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe;
+import org.apache.hadoop.hive.shims.ShimLoader;
 import org.apache.hadoop.mapred.InputFormat;
 import org.apache.hadoop.util.StringUtils;
 import org.apache.thrift.TException;
@@ -2385,7 +2386,9 @@ private void constructOneLBLocationMap(F
             // use FsShell to move data to .Trash first rather than delete permanently
             FsShell fshell = new FsShell();
             fshell.setConf(conf);
-            fshell.run(new String[]{"-rmr", oldPath.toString()});
+            String[] rmr = isHadoop1() ? new String[]{"-rmr", oldPath.toString()} :
+                new String[]{"-rm", "-r", oldPath.toString()};
+            fshell.run(rmr);
           }
         } catch (Exception e) {
           //swallow the exception
@@ -2438,6 +2441,10 @@ private void constructOneLBLocationMap(F
     }
   }
 
+  public static boolean isHadoop1() {
+    return ShimLoader.getMajorVersion().startsWith("0.20");
+  }
+
   public void exchangeTablePartitions(Map<String, String> partitionSpecs,
       String sourceDb, String sourceTable, String destDb,
       String destinationTableName) throws HiveException {