hive-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From j..@apache.org
Subject svn commit: r1201035 - in /hive/trunk/ql/src: java/org/apache/hadoop/hive/ql/exec/ java/org/apache/hadoop/hive/ql/udf/generic/ test/queries/clientnegative/ test/results/clientnegative/ test/results/clientpositive/
Date Fri, 11 Nov 2011 19:42:35 GMT
Author: jvs
Date: Fri Nov 11 19:42:35 2011
New Revision: 1201035

URL: http://svn.apache.org/viewvc?rev=1201035&view=rev
Log:
HIVE-2532 [jira] Evaluation of non-deterministic/stateful UDFs should not be
skipped even if constant oi is returned.
(Jonathan Chang via jvs)

Summary:
HIVE-2532

Even if constant oi is returned, these may have stateful/side-effect behavior
and hence need to be called each cycle.

Test Plan: EMPTY

Reviewers: JIRA, jsichi

Reviewed By: jsichi

CC: ikabiljo, jonchang, jsichi

Differential Revision: 273


Added:
    hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFAssertTrue.java
    hive/trunk/ql/src/test/queries/clientnegative/udf_assert_true.q
    hive/trunk/ql/src/test/queries/clientnegative/udf_assert_true2.q
    hive/trunk/ql/src/test/results/clientnegative/udf_assert_true.q.out
    hive/trunk/ql/src/test/results/clientnegative/udf_assert_true2.q.out
Modified:
    hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/ExprNodeEvaluator.java
    hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/ExprNodeGenericFuncEvaluator.java
    hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java
    hive/trunk/ql/src/test/results/clientpositive/show_functions.q.out

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/ExprNodeEvaluator.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/ExprNodeEvaluator.java?rev=1201035&r1=1201034&r2=1201035&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/ExprNodeEvaluator.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/ExprNodeEvaluator.java Fri Nov 11
19:42:35 2011
@@ -40,4 +40,11 @@ public abstract class ExprNodeEvaluator 
    */
   public abstract Object evaluate(Object row) throws HiveException;
 
+  /**
+   * Return whether this node (and all children nodes) are deterministic.
+   */
+  public boolean isDeterministic() {
+    return true;
+  }
+  
 }

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/ExprNodeGenericFuncEvaluator.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/ExprNodeGenericFuncEvaluator.java?rev=1201035&r1=1201034&r2=1201035&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/ExprNodeGenericFuncEvaluator.java
(original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/ExprNodeGenericFuncEvaluator.java
Fri Nov 11 19:42:35 2011
@@ -138,9 +138,19 @@ public class ExprNodeGenericFuncEvaluato
   }
 
   @Override
+  public boolean isDeterministic() {
+    boolean result = FunctionRegistry.isDeterministic(genericUDF);
+    for (ExprNodeEvaluator child : children) {
+      result = result && child.isDeterministic();
+    }
+    return result;
+  }
+
+  @Override
   public Object evaluate(Object row) throws HiveException {
     rowObject = row;
-    if (ObjectInspectorUtils.isConstantObjectInspector(outputOI)) {
+    if (ObjectInspectorUtils.isConstantObjectInspector(outputOI) &&
+        isDeterministic()) {
       // The output of this UDF is constant, so don't even bother evaluating.
       return ((ConstantObjectInspector)outputOI).getWritableConstantValue();
     }

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java?rev=1201035&r1=1201034&r2=1201035&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java Fri Nov 11
19:42:35 2011
@@ -146,6 +146,7 @@ import org.apache.hadoop.hive.ql.udf.gen
 import org.apache.hadoop.hive.ql.udf.generic.GenericUDF;
 import org.apache.hadoop.hive.ql.udf.generic.GenericUDFArray;
 import org.apache.hadoop.hive.ql.udf.generic.GenericUDFArrayContains;
+import org.apache.hadoop.hive.ql.udf.generic.GenericUDFAssertTrue;
 import org.apache.hadoop.hive.ql.udf.generic.GenericUDFBridge;
 import org.apache.hadoop.hive.ql.udf.generic.GenericUDFCase;
 import org.apache.hadoop.hive.ql.udf.generic.GenericUDFCoalesce;
@@ -414,6 +415,7 @@ public final class FunctionRegistry {
     registerGenericUDF("reflect", GenericUDFReflect.class);
 
     registerGenericUDF("array", GenericUDFArray.class);
+    registerGenericUDF("assert_true", GenericUDFAssertTrue.class);
     registerGenericUDF("map", GenericUDFMap.class);
     registerGenericUDF("struct", GenericUDFStruct.class);
     registerGenericUDF("named_struct", GenericUDFNamedStruct.class);

Added: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFAssertTrue.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFAssertTrue.java?rev=1201035&view=auto
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFAssertTrue.java
(added)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFAssertTrue.java
Fri Nov 11 19:42:35 2011
@@ -0,0 +1,89 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hive.ql.udf.generic;
+
+import org.apache.hadoop.hive.ql.exec.Description;
+import org.apache.hadoop.hive.ql.exec.UDFArgumentException;
+import org.apache.hadoop.hive.ql.exec.UDFArgumentLengthException;
+import org.apache.hadoop.hive.ql.exec.UDFArgumentTypeException;
+import org.apache.hadoop.hive.ql.metadata.HiveException;
+import org.apache.hadoop.hive.ql.udf.UDFType;
+import org.apache.hadoop.hive.ql.udf.generic.GenericUDF;
+
+import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
+import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector.Category;
+import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorConverters;
+import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorFactory;
+
+import org.apache.hadoop.io.BooleanWritable;
+
+/**
+ * GenericUDFAssertTrue
+ */
+@Description(name = "assert_true",
+    value = "_FUNC_(condition) - " +
+            "Throw an exception if 'condition' is not true.",
+    extended = "Example:\n "
+    + "  > SELECT _FUNC_(x >= 0) FROM src LIMIT 1;\n"
+    + "  NULL")
+@UDFType(deterministic = false)
+public class GenericUDFAssertTrue extends GenericUDF {
+  private ObjectInspectorConverters.Converter conditionConverter = null;
+
+  @Override
+  public ObjectInspector initialize(ObjectInspector[] arguments)
+      throws UDFArgumentException {
+    if (arguments.length != 1) {
+      throw new UDFArgumentLengthException(
+          "ASSERT_TRUE() expects one argument.");
+    }
+    if (arguments[0].getCategory() != Category.PRIMITIVE) {
+      throw new UDFArgumentTypeException(0, 
+          "Argument to ASSERT_TRUE() should be primitive.");
+    }
+    conditionConverter = ObjectInspectorConverters.getConverter(arguments[0], 
+        PrimitiveObjectInspectorFactory.writableBooleanObjectInspector);
+
+    return PrimitiveObjectInspectorFactory.writableVoidObjectInspector;
+  }
+
+  @Override
+  public Object evaluate(DeferredObject[] arguments) throws HiveException {
+    BooleanWritable condition =
+        (BooleanWritable)conditionConverter.convert(arguments[0].get());
+    if (condition == null || !condition.get()) {
+      throw new HiveException("ASSERT_TRUE(): assertion failed.");
+    }
+    return null;
+  }
+
+ @Override
+  public String getDisplayString(String[] children) {
+    StringBuilder sb = new StringBuilder();
+    sb.append("assert_true(");
+    for (int i = 0; i < children.length; ++i) {
+      sb.append(children[i]);
+      if (i != children.length - 1) {
+        sb.append(", ");
+      }
+    }
+    sb.append(")");
+    return sb.toString();
+  }  
+}

Added: hive/trunk/ql/src/test/queries/clientnegative/udf_assert_true.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientnegative/udf_assert_true.q?rev=1201035&view=auto
==============================================================================
--- hive/trunk/ql/src/test/queries/clientnegative/udf_assert_true.q (added)
+++ hive/trunk/ql/src/test/queries/clientnegative/udf_assert_true.q Fri Nov 11 19:42:35 2011
@@ -0,0 +1,7 @@
+DESCRIBE FUNCTION ASSERT_TRUE;
+
+EXPLAIN SELECT ASSERT_TRUE(x > 0) FROM src LATERAL VIEW EXPLODE(ARRAY(1, 2)) a AS x LIMIT
2;
+SELECT ASSERT_TRUE(x > 0) FROM src LATERAL VIEW EXPLODE(ARRAY(1, 2)) a AS x LIMIT 2;
+
+EXPLAIN SELECT ASSERT_TRUE(x < 2) FROM src LATERAL VIEW EXPLODE(ARRAY(1, 2)) a AS x LIMIT
2;
+SELECT ASSERT_TRUE(x < 2) FROM src LATERAL VIEW EXPLODE(ARRAY(1, 2)) a AS x LIMIT 2;

Added: hive/trunk/ql/src/test/queries/clientnegative/udf_assert_true2.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientnegative/udf_assert_true2.q?rev=1201035&view=auto
==============================================================================
--- hive/trunk/ql/src/test/queries/clientnegative/udf_assert_true2.q (added)
+++ hive/trunk/ql/src/test/queries/clientnegative/udf_assert_true2.q Fri Nov 11 19:42:35 2011
@@ -0,0 +1,2 @@
+EXPLAIN SELECT 1 + ASSERT_TRUE(x < 2) FROM src LATERAL VIEW EXPLODE(ARRAY(1, 2)) a AS
x LIMIT 2;
+SELECT 1 + ASSERT_TRUE(x < 2) FROM src LATERAL VIEW EXPLODE(ARRAY(1, 2)) a AS x LIMIT
2;

Added: hive/trunk/ql/src/test/results/clientnegative/udf_assert_true.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientnegative/udf_assert_true.q.out?rev=1201035&view=auto
==============================================================================
--- hive/trunk/ql/src/test/results/clientnegative/udf_assert_true.q.out (added)
+++ hive/trunk/ql/src/test/results/clientnegative/udf_assert_true.q.out Fri Nov 11 19:42:35
2011
@@ -0,0 +1,154 @@
+PREHOOK: query: DESCRIBE FUNCTION ASSERT_TRUE
+PREHOOK: type: DESCFUNCTION
+POSTHOOK: query: DESCRIBE FUNCTION ASSERT_TRUE
+POSTHOOK: type: DESCFUNCTION
+ASSERT_TRUE(condition) - Throw an exception if 'condition' is not true.
+PREHOOK: query: EXPLAIN SELECT ASSERT_TRUE(x > 0) FROM src LATERAL VIEW EXPLODE(ARRAY(1,
2)) a AS x LIMIT 2
+PREHOOK: type: QUERY
+POSTHOOK: query: EXPLAIN SELECT ASSERT_TRUE(x > 0) FROM src LATERAL VIEW EXPLODE(ARRAY(1,
2)) a AS x LIMIT 2
+POSTHOOK: type: QUERY
+ABSTRACT SYNTAX TREE:
+  (TOK_QUERY (TOK_FROM (TOK_LATERAL_VIEW (TOK_SELECT (TOK_SELEXPR (TOK_FUNCTION EXPLODE (TOK_FUNCTION
ARRAY 1 2)) x (TOK_TABALIAS a))) (TOK_TABREF (TOK_TABNAME src)))) (TOK_INSERT (TOK_DESTINATION
(TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (TOK_FUNCTION ASSERT_TRUE (> (TOK_TABLE_OR_COL
x) 0)))) (TOK_LIMIT 2)))
+
+STAGE DEPENDENCIES:
+  Stage-1 is a root stage
+  Stage-0 is a root stage
+
+STAGE PLANS:
+  Stage: Stage-1
+    Map Reduce
+      Alias -> Map Operator Tree:
+        src 
+          TableScan
+            alias: src
+            Lateral View Forward
+              Select Operator
+                SELECT * : (no compute)
+                Lateral View Join Operator
+                  outputColumnNames: _col0, _col1, _col2
+                  Select Operator
+                    expressions:
+                          expr: assert_true((_col2 > 0))
+                          type: void
+                    outputColumnNames: _col0
+                    Limit
+                      File Output Operator
+                        compressed: false
+                        GlobalTableId: 0
+                        table:
+                            input format: org.apache.hadoop.mapred.TextInputFormat
+                            output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+              Select Operator
+                expressions:
+                      expr: array(1,2)
+                      type: array<int>
+                outputColumnNames: _col0
+                UDTF Operator
+                  function name: explode
+                  Lateral View Join Operator
+                    outputColumnNames: _col0, _col1, _col2
+                    Select Operator
+                      expressions:
+                            expr: assert_true((_col2 > 0))
+                            type: void
+                      outputColumnNames: _col0
+                      Limit
+                        File Output Operator
+                          compressed: false
+                          GlobalTableId: 0
+                          table:
+                              input format: org.apache.hadoop.mapred.TextInputFormat
+                              output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: 2
+
+
+PREHOOK: query: SELECT ASSERT_TRUE(x > 0) FROM src LATERAL VIEW EXPLODE(ARRAY(1, 2)) a
AS x LIMIT 2
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Output: file:/var/folders/71/h_j6fpg10r33hvx1lcxlgttcw61_4s/T/jonchang/hive_2011-11-05_15-55-33_934_5378238297627471477/-mr-10000
+POSTHOOK: query: SELECT ASSERT_TRUE(x > 0) FROM src LATERAL VIEW EXPLODE(ARRAY(1, 2))
a AS x LIMIT 2
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Output: file:/var/folders/71/h_j6fpg10r33hvx1lcxlgttcw61_4s/T/jonchang/hive_2011-11-05_15-55-33_934_5378238297627471477/-mr-10000
+NULL
+NULL
+PREHOOK: query: EXPLAIN SELECT ASSERT_TRUE(x < 2) FROM src LATERAL VIEW EXPLODE(ARRAY(1,
2)) a AS x LIMIT 2
+PREHOOK: type: QUERY
+POSTHOOK: query: EXPLAIN SELECT ASSERT_TRUE(x < 2) FROM src LATERAL VIEW EXPLODE(ARRAY(1,
2)) a AS x LIMIT 2
+POSTHOOK: type: QUERY
+ABSTRACT SYNTAX TREE:
+  (TOK_QUERY (TOK_FROM (TOK_LATERAL_VIEW (TOK_SELECT (TOK_SELEXPR (TOK_FUNCTION EXPLODE (TOK_FUNCTION
ARRAY 1 2)) x (TOK_TABALIAS a))) (TOK_TABREF (TOK_TABNAME src)))) (TOK_INSERT (TOK_DESTINATION
(TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (TOK_FUNCTION ASSERT_TRUE (< (TOK_TABLE_OR_COL
x) 2)))) (TOK_LIMIT 2)))
+
+STAGE DEPENDENCIES:
+  Stage-1 is a root stage
+  Stage-0 is a root stage
+
+STAGE PLANS:
+  Stage: Stage-1
+    Map Reduce
+      Alias -> Map Operator Tree:
+        src 
+          TableScan
+            alias: src
+            Lateral View Forward
+              Select Operator
+                SELECT * : (no compute)
+                Lateral View Join Operator
+                  outputColumnNames: _col0, _col1, _col2
+                  Select Operator
+                    expressions:
+                          expr: assert_true((_col2 < 2))
+                          type: void
+                    outputColumnNames: _col0
+                    Limit
+                      File Output Operator
+                        compressed: false
+                        GlobalTableId: 0
+                        table:
+                            input format: org.apache.hadoop.mapred.TextInputFormat
+                            output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+              Select Operator
+                expressions:
+                      expr: array(1,2)
+                      type: array<int>
+                outputColumnNames: _col0
+                UDTF Operator
+                  function name: explode
+                  Lateral View Join Operator
+                    outputColumnNames: _col0, _col1, _col2
+                    Select Operator
+                      expressions:
+                            expr: assert_true((_col2 < 2))
+                            type: void
+                      outputColumnNames: _col0
+                      Limit
+                        File Output Operator
+                          compressed: false
+                          GlobalTableId: 0
+                          table:
+                              input format: org.apache.hadoop.mapred.TextInputFormat
+                              output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: 2
+
+
+PREHOOK: query: SELECT ASSERT_TRUE(x < 2) FROM src LATERAL VIEW EXPLODE(ARRAY(1, 2)) a
AS x LIMIT 2
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Output: file:/var/folders/71/h_j6fpg10r33hvx1lcxlgttcw61_4s/T/jonchang/hive_2011-11-05_15-55-39_927_2246328313093384798/-mr-10000
+Execution failed with exit status: 2
+Obtaining error information
+
+Task failed!
+Task ID:
+  Stage-1
+
+Logs:
+
+/Users/jonchang/hive/build/ql/tmp//hive.log
+FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.MapRedTask

Added: hive/trunk/ql/src/test/results/clientnegative/udf_assert_true2.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientnegative/udf_assert_true2.q.out?rev=1201035&view=auto
==============================================================================
--- hive/trunk/ql/src/test/results/clientnegative/udf_assert_true2.q.out (added)
+++ hive/trunk/ql/src/test/results/clientnegative/udf_assert_true2.q.out Fri Nov 11 19:42:35
2011
@@ -0,0 +1,77 @@
+PREHOOK: query: EXPLAIN SELECT 1 + ASSERT_TRUE(x < 2) FROM src LATERAL VIEW EXPLODE(ARRAY(1,
2)) a AS x LIMIT 2
+PREHOOK: type: QUERY
+POSTHOOK: query: EXPLAIN SELECT 1 + ASSERT_TRUE(x < 2) FROM src LATERAL VIEW EXPLODE(ARRAY(1,
2)) a AS x LIMIT 2
+POSTHOOK: type: QUERY
+ABSTRACT SYNTAX TREE:
+  (TOK_QUERY (TOK_FROM (TOK_LATERAL_VIEW (TOK_SELECT (TOK_SELEXPR (TOK_FUNCTION EXPLODE (TOK_FUNCTION
ARRAY 1 2)) x (TOK_TABALIAS a))) (TOK_TABREF (TOK_TABNAME src)))) (TOK_INSERT (TOK_DESTINATION
(TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (+ 1 (TOK_FUNCTION ASSERT_TRUE (< (TOK_TABLE_OR_COL
x) 2))))) (TOK_LIMIT 2)))
+
+STAGE DEPENDENCIES:
+  Stage-1 is a root stage
+  Stage-0 is a root stage
+
+STAGE PLANS:
+  Stage: Stage-1
+    Map Reduce
+      Alias -> Map Operator Tree:
+        src 
+          TableScan
+            alias: src
+            Lateral View Forward
+              Select Operator
+                SELECT * : (no compute)
+                Lateral View Join Operator
+                  outputColumnNames: _col0, _col1, _col2
+                  Select Operator
+                    expressions:
+                          expr: (1 + assert_true((_col2 < 2)))
+                          type: int
+                    outputColumnNames: _col0
+                    Limit
+                      File Output Operator
+                        compressed: false
+                        GlobalTableId: 0
+                        table:
+                            input format: org.apache.hadoop.mapred.TextInputFormat
+                            output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+              Select Operator
+                expressions:
+                      expr: array(1,2)
+                      type: array<int>
+                outputColumnNames: _col0
+                UDTF Operator
+                  function name: explode
+                  Lateral View Join Operator
+                    outputColumnNames: _col0, _col1, _col2
+                    Select Operator
+                      expressions:
+                            expr: (1 + assert_true((_col2 < 2)))
+                            type: int
+                      outputColumnNames: _col0
+                      Limit
+                        File Output Operator
+                          compressed: false
+                          GlobalTableId: 0
+                          table:
+                              input format: org.apache.hadoop.mapred.TextInputFormat
+                              output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: 2
+
+
+PREHOOK: query: SELECT 1 + ASSERT_TRUE(x < 2) FROM src LATERAL VIEW EXPLODE(ARRAY(1, 2))
a AS x LIMIT 2
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Output: file:/var/folders/71/h_j6fpg10r33hvx1lcxlgttcw61_4s/T/jonchang/hive_2011-11-09_22-43-58_159_7985036840632043879/-mr-10000
+Execution failed with exit status: 2
+Obtaining error information
+
+Task failed!
+Task ID:
+  Stage-1
+
+Logs:
+
+/Users/jonchang/hive/build/ql/tmp//hive.log
+FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.MapRedTask

Modified: hive/trunk/ql/src/test/results/clientpositive/show_functions.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/show_functions.q.out?rev=1201035&r1=1201034&r2=1201035&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/show_functions.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/show_functions.q.out Fri Nov 11 19:42:35
2011
@@ -25,6 +25,7 @@ array
 array_contains
 ascii
 asin
+assert_true
 atan
 avg
 bigint
@@ -195,6 +196,7 @@ PREHOOK: query: SHOW FUNCTIONS '.*e$'
 PREHOOK: type: SHOWFUNCTIONS
 POSTHOOK: query: SHOW FUNCTIONS '.*e$'
 POSTHOOK: type: SHOWFUNCTIONS
+assert_true
 case
 coalesce
 double



Mime
View raw message