diff --git a/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java b/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java index 93cf71c..0fe7bc4 100644 --- a/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java +++ b/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java @@ -1167,6 +1167,8 @@ public void setSparkConfigUpdated(boolean isSparkConfigUpdated) { HIVETEZLOGLEVEL("hive.tez.log.level", "INFO", "The log level to use for tasks executing as part of the DAG.\n" + "Used only if hive.tez.java.opts is used to configure Java options."), + HIVE_KRYO_TRACE_ENABLE("hive.kryo.trace.enable", false, "Enable kryo serialization trace. Trace log messages will" + + " go to System.out by default."), HIVEENFORCEBUCKETING("hive.enforce.bucketing", false, "Whether bucketing is enforced. If true, while inserting into the table, bucketing is enforced."), diff --git a/ql/src/java/org/apache/hadoop/hive/ql/Driver.java b/ql/src/java/org/apache/hadoop/hive/ql/Driver.java index 1c09543..72008db 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/Driver.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/Driver.java @@ -291,6 +291,7 @@ public void setMaxRows(int maxRows) { */ public Driver(HiveConf conf) { this.conf = conf; + setKryoLogLevel(this.conf); } public Driver(HiveConf conf, String userName) { @@ -301,6 +302,7 @@ public Driver(HiveConf conf, String userName) { public Driver() { if (SessionState.get() != null) { conf = SessionState.get().getConf(); + setKryoLogLevel(conf); } } @@ -315,6 +317,14 @@ public int compile(String command) { return compile(command, true); } + public void setKryoLogLevel(final HiveConf conf) { + if (HiveConf.getBoolVar(conf, ConfVars.HIVE_KRYO_TRACE_ENABLE)) { + com.esotericsoftware.minlog.Log.TRACE(); + } else { + com.esotericsoftware.minlog.Log.ERROR(); + } + } + /** * Hold state variables specific to each query being executed, that may not * be consistent in the overall SessionState diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java index 73baa0c..7a9015c 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java @@ -1266,8 +1266,6 @@ protected synchronized Kryo initialValue() { kryo.register(Path.class, new PathSerializer()); kryo.register( Arrays.asList( "" ).getClass(), new ArraysAsListSerializer() ); kryo.setInstantiatorStrategy(new StdInstantiatorStrategy()); - removeField(kryo, Operator.class, "colExprMap"); - removeField(kryo, AbstractOperatorDesc.class, "statistics"); kryo.register(MapWork.class); kryo.register(ReduceWork.class); kryo.register(TableDesc.class);