You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by br...@apache.org on 2013/10/02 18:03:39 UTC
svn commit: r1528531 -
/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java
Author: brock
Date: Wed Oct 2 16:03:38 2013
New Revision: 1528531
URL: http://svn.apache.org/r1528531
Log:
HIVE-5405 - Need to implement PersistenceDelegate for org.antlr.runtime.CommonToken (shanyu zhao via Brock Noland)
Modified:
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java
Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java?rev=1528531&r1=1528530&r2=1528531&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java Wed Oct 2 16:03:38 2013
@@ -497,6 +497,18 @@ public final class Utilities {
}
}
+ /**
+ * Need to serialize org.antlr.runtime.CommonToken
+ */
+ public static class CommonTokenDelegate extends PersistenceDelegate {
+ @Override
+ protected Expression instantiate(Object oldInstance, Encoder out) {
+ CommonToken ct = (CommonToken)oldInstance;
+ Object[] args = {ct.getType(), ct.getText()};
+ return new Expression(ct, ct.getClass(), "new", args);
+ }
+ }
+
public static void setMapRedWork(Configuration conf, MapredWork w, String hiveScratchDir) {
setMapWork(conf, w.getMapWork(), hiveScratchDir, true);
if (w.getReduceWork() != null) {
@@ -746,7 +758,7 @@ public final class Utilities {
PerfLogger perfLogger = PerfLogger.getPerfLogger();
perfLogger.PerfLogBegin(CLASS_NAME, PerfLogger.CLONE_PLAN);
ByteArrayOutputStream baos = new ByteArrayOutputStream(4096);
- Configuration conf = new Configuration();
+ Configuration conf = new HiveConf();
serializePlan(plan, baos, conf, true);
MapredWork newPlan = deserializePlan(new ByteArrayInputStream(baos.toByteArray()),
MapredWork.class, conf, true);
@@ -775,6 +787,7 @@ public final class Utilities {
e.setPersistenceDelegate(org.datanucleus.store.types.backed.Map.class, new MapDelegate());
e.setPersistenceDelegate(org.datanucleus.store.types.backed.List.class, new ListDelegate());
+ e.setPersistenceDelegate(CommonToken.class, new CommonTokenDelegate());
e.writeObject(plan);
e.close();