You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by th...@apache.org on 2014/06/14 04:10:38 UTC

svn commit: r1602541 - in /hive/trunk/hcatalog/webhcat/svr/src: main/java/org/apache/hive/hcatalog/templeton/ main/java/org/apache/hive/hcatalog/templeton/tool/ test/java/org/apache/hive/hcatalog/templeton/tool/

Author: thejas
Date: Sat Jun 14 02:10:38 2014
New Revision: 1602541

URL: http://svn.apache.org/r1602541
Log:
HIVE-7065 : Hive jobs in webhcat run in default mr mode even in Hive on Tez setup - followup unit test fix

Modified:
    hive/trunk/hcatalog/webhcat/svr/src/main/java/org/apache/hive/hcatalog/templeton/AppConfig.java
    hive/trunk/hcatalog/webhcat/svr/src/main/java/org/apache/hive/hcatalog/templeton/tool/TempletonUtils.java
    hive/trunk/hcatalog/webhcat/svr/src/test/java/org/apache/hive/hcatalog/templeton/tool/TestTempletonUtils.java

Modified: hive/trunk/hcatalog/webhcat/svr/src/main/java/org/apache/hive/hcatalog/templeton/AppConfig.java
URL: http://svn.apache.org/viewvc/hive/trunk/hcatalog/webhcat/svr/src/main/java/org/apache/hive/hcatalog/templeton/AppConfig.java?rev=1602541&r1=1602540&r2=1602541&view=diff
==============================================================================
--- hive/trunk/hcatalog/webhcat/svr/src/main/java/org/apache/hive/hcatalog/templeton/AppConfig.java (original)
+++ hive/trunk/hcatalog/webhcat/svr/src/main/java/org/apache/hive/hcatalog/templeton/AppConfig.java Sat Jun 14 02:10:38 2014
@@ -37,6 +37,7 @@ import org.apache.hadoop.hive.conf.HiveC
 import org.apache.hadoop.util.StringUtils;
 import org.apache.hadoop.util.VersionInfo;
 import org.apache.hive.hcatalog.templeton.tool.JobState;
+import org.apache.hive.hcatalog.templeton.tool.TempletonUtils;
 import org.apache.hive.hcatalog.templeton.tool.ZooKeeperCleanup;
 import org.apache.hive.hcatalog.templeton.tool.ZooKeeperStorage;
 
@@ -313,7 +314,7 @@ public class AppConfig extends Configura
     //since raw data was (possibly) escaped to make split work,
     //now need to remove escape chars so they don't interfere with downstream processing
     for(int i = 0; i < props.length; i++) {
-      props[i] = StringUtils.unEscapeString(props[i]);
+      props[i] = TempletonUtils.unEscapeString(props[i]);
     }
     return Arrays.asList(props);
   }

Modified: hive/trunk/hcatalog/webhcat/svr/src/main/java/org/apache/hive/hcatalog/templeton/tool/TempletonUtils.java
URL: http://svn.apache.org/viewvc/hive/trunk/hcatalog/webhcat/svr/src/main/java/org/apache/hive/hcatalog/templeton/tool/TempletonUtils.java?rev=1602541&r1=1602540&r2=1602541&view=diff
==============================================================================
--- hive/trunk/hcatalog/webhcat/svr/src/main/java/org/apache/hive/hcatalog/templeton/tool/TempletonUtils.java (original)
+++ hive/trunk/hcatalog/webhcat/svr/src/main/java/org/apache/hive/hcatalog/templeton/tool/TempletonUtils.java Sat Jun 14 02:10:38 2014
@@ -347,4 +347,11 @@ public class TempletonUtils {
       args.add("call");
     }
   }
+
+  /**
+   * replaces all occurrences of "\," with ","; returns {@code s} if no modifications needed
+   */
+  public static String unEscapeString(String s) {
+    return s != null && s.contains("\\,") ? StringUtils.unEscapeString(s) : s;
+  }
 }

Modified: hive/trunk/hcatalog/webhcat/svr/src/test/java/org/apache/hive/hcatalog/templeton/tool/TestTempletonUtils.java
URL: http://svn.apache.org/viewvc/hive/trunk/hcatalog/webhcat/svr/src/test/java/org/apache/hive/hcatalog/templeton/tool/TestTempletonUtils.java?rev=1602541&r1=1602540&r2=1602541&view=diff
==============================================================================
--- hive/trunk/hcatalog/webhcat/svr/src/test/java/org/apache/hive/hcatalog/templeton/tool/TestTempletonUtils.java (original)
+++ hive/trunk/hcatalog/webhcat/svr/src/test/java/org/apache/hive/hcatalog/templeton/tool/TestTempletonUtils.java Sat Jun 14 02:10:38 2014
@@ -306,7 +306,7 @@ public class TestTempletonUtils {
     String[] newProps = StringUtils.split(input.toString());
     for(int i = 0; i < newProps.length; i++) {
       Assert.assertEquals("Pre/post split values don't match",
-        StringUtils.unEscapeString(props[i]), StringUtils.unEscapeString(newProps[i]));
+        TempletonUtils.unEscapeString(props[i]), TempletonUtils.unEscapeString(newProps[i]));
     }
   }
 }