You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2022/11/01 03:05:00 UTC

[jira] [Work logged] (HIVE-26667) Incompatible expression deserialization against latest HMS

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

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

                Author: ASF GitHub Bot
            Created on: 01/Nov/22 03:04
            Start Date: 01/Nov/22 03:04
    Worklog Time Spent: 10m 
      Work Description: dengzhhu653 commented on PR #3700:
URL: https://github.com/apache/hive/pull/3700#issuecomment-1297958907

   Hi @saihemanth-cloudera, could you please take a look?




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

    Worklog Id:     (was: 822173)
    Time Spent: 0.5h  (was: 20m)

> Incompatible expression deserialization against latest HMS
> ----------------------------------------------------------
>
>                 Key: HIVE-26667
>                 URL: https://issues.apache.org/jira/browse/HIVE-26667
>             Project: Hive
>          Issue Type: Bug
>          Components: Standalone Metastore
>    Affects Versions: 4.0.0-alpha-1
>            Reporter: Zhihua Deng
>            Assignee: Zhihua Deng
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> When an old Hive Metastore client issues listPartitionsByExpr against the lastest HMS, an exception would be thrown:
>  
> {noformat}
> MetaException(message:Unable to find class: 
> )
> 	at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$get_partitions_by_expr_result$get_partitions_by_expr_resultStandardScheme.read(ThriftHiveMetastore.java)
> 	at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$get_partitions_by_expr_result$get_partitions_by_expr_resultStandardScheme.read(ThriftHiveMetastore.java)
> 	at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$get_partitions_by_expr_result.read(ThriftHiveMetastore.java)
> 	at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:86)
> 	at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.recv_get_partitions_by_expr(ThriftHiveMetastore.java:3273)
> 	at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.get_partitions_by_expr(ThriftHiveMetastore.java:3260)
> 	at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.listPartitionsByExpr(HiveMetaStoreClient.java:1488){noformat}
> This was caused by a gap between old client and server on (de)serializing the expression. In old client, we don’t stream the expression’s class type into bytes, while the server should read the class type from serialized bytes firstly, which makes the trouble. Other APIs that need to (de)serialize expression may be suffered as well.
>  



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