[ 
https://issues.apache.org/jira/browse/HIVE-26539?focusedWorklogId=814224&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-814224
 ]

ASF GitHub Bot logged work on HIVE-26539:
-----------------------------------------

                Author: ASF GitHub Bot
            Created on: 06/Oct/22 04:36
            Start Date: 06/Oct/22 04:36
    Worklog Time Spent: 10m 
      Work Description: hsnusonic commented on code in PR #3605:
URL: https://github.com/apache/hive/pull/3605#discussion_r988535311


##########
ql/src/java/org/apache/hadoop/hive/ql/exec/SerializationUtilities.java:
##########
@@ -228,6 +230,27 @@ public void setConf(Configuration conf) {
     public Configuration getConf() {
       return configuration;
     }
+
+    @Override
+    public com.esotericsoftware.kryo.Registration getRegistration(Class type) {

Review Comment:
   Just to make sure my understanding is correct, is this method called before 
the class being instantiated? So, we can avoid some classes be instantiated.



##########
ql/src/java/org/apache/hadoop/hive/ql/exec/SerializationUtilities.java:
##########
@@ -830,13 +853,17 @@ public static byte[] 
serializeObjectWithTypeInformation(Serializable object) {
   /**
    * Deserializes expression from Kryo.
    * @param bytes Bytes containing the expression.
+   * @param isPartFilter ture if it is a partition filter
    * @return Expression; null if deserialization succeeded, but the result 
type is incorrect.
    */
-  public static <T> T deserializeObjectWithTypeInformation(byte[] bytes) {
-    Kryo kryo = borrowKryo();
+  public static <T> T deserializeObjectWithTypeInformation(byte[] bytes,
+      boolean isPartFilter) {
+    KryoWithHooks kryo = (KryoWithHooks) borrowKryo();
+    kryo.setExprNodeFirst(isPartFilter);
     try (Input inp = new Input(new ByteArrayInputStream(bytes))) {
       return (T) kryo.readClassAndObject(inp);
     } finally {
+      kryo.setExprNodeFirst(false);

Review Comment:
   Can we reset this field in `releaseKryo()`?





Issue Time Tracking
-------------------

    Worklog Id:     (was: 814224)
    Time Spent: 40m  (was: 0.5h)

> Kryo deserialization improvements
> ---------------------------------
>
>                 Key: HIVE-26539
>                 URL: https://issues.apache.org/jira/browse/HIVE-26539
>             Project: Hive
>          Issue Type: Improvement
>            Reporter: Zhihua Deng
>            Assignee: Zhihua Deng
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 40m
>  Remaining Estimate: 0h
>




--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to