Index: ql/src/java/org/apache/hadoop/hive/ql/exec/ScriptOperator.java =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/exec/ScriptOperator.java (revision 1072913) +++ ql/src/java/org/apache/hadoop/hive/ql/exec/ScriptOperator.java (working copy) @@ -574,11 +574,18 @@ if (in != null) { in.close(); } - proc.close(); } catch (Exception e) { LOG.warn(name + ": error in closing .."); LOG.warn(StringUtils.stringifyException(e)); } + try + { + if (null != proc) { + proc.close(); + } + }catch (Exception e) { + LOG.warn(": error in closing .."+StringUtils.stringifyException(e)); + } } } } Index: ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java (revision 1072913) +++ ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java (working copy) @@ -386,14 +386,20 @@ * Serialize a single Task. */ public static void serializeTasks(Task t, OutputStream out) { - XMLEncoder e = new XMLEncoder(out); - // workaround for java 1.5 - e.setPersistenceDelegate(ExpressionTypes.class, new EnumDelegate()); - e.setPersistenceDelegate(GroupByDesc.Mode.class, new EnumDelegate()); - e.setPersistenceDelegate(Operator.ProgressCounter.class, new EnumDelegate()); + XMLEncoder e = null; + try { + e = new XMLEncoder(out); + // workaround for java 1.5 + e.setPersistenceDelegate(ExpressionTypes.class, new EnumDelegate()); + e.setPersistenceDelegate(GroupByDesc.Mode.class, new EnumDelegate()); + e.setPersistenceDelegate(Operator.ProgressCounter.class, new EnumDelegate()); - e.writeObject(t); - e.close(); + e.writeObject(t); + }finally { + if(null != e){ + e.close(); + } + } } public static class CollectionPersistenceDelegate extends DefaultPersistenceDelegate {