diff --git a/itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java b/itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java index 7c09fcc..f52350d 100644 --- a/itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java +++ b/itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java @@ -1024,7 +1024,7 @@ private int executeClientInternal(String commands) { } command = ""; } - if (SessionState.get() != null) { + if (rc == 0 && SessionState.get() != null) { SessionState.get().setLastCommand(null); // reset } return rc; diff --git a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDTFInline.java b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDTFInline.java index 2152d97..ab5a2bf 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDTFInline.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDTFInline.java @@ -19,6 +19,7 @@ package org.apache.hadoop.hive.ql.udf.generic; import java.util.ArrayList; +import java.util.List; import org.apache.hadoop.hive.ql.exec.Description; import org.apache.hadoop.hive.ql.exec.UDFArgumentException; @@ -57,8 +58,11 @@ public StructObjectInspector initialize(ObjectInspector[] ois) throws UDFArgumen @Override public void process(Object[] os) throws HiveException { - for (Object row : new ArrayList(li.getList(os[0]))) { - forward(row); + List list = li.getList(os[0]); + if (list != null && !list.isEmpty()) { + for (Object row : list.toArray()) { + forward(row); + } } } diff --git a/serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/LazyBinaryArray.java b/serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/LazyBinaryArray.java index 4929f67..fee1472 100644 --- a/serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/LazyBinaryArray.java +++ b/serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/LazyBinaryArray.java @@ -214,7 +214,7 @@ public int getListLength() { /** * cachedList is reused every time getList is called. Different - * LazyBianryArray instances cannot share the same cachedList. + * LazyBinaryArray instances cannot share the same cachedList. */ ArrayList cachedList;