You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by Bohdan Kazydub <bo...@gmail.com> on 2018/05/24 17:52:13 UTC

Hive Metastore Client Backwards Compatibility Issue

Hello Hive,

I am using HiveMetaStoreClient of version 2.3.3 (
https://github.com/apache/hive/blob/rel/release-2.3.3/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.java)
to query data (sql queries like 'show tables;' and 'select * from
customers;' etc.) from Hive 2.1 installed on my machine. I get following
exception:

HiveMetaStoreClient - Failure while attempting to get hive table. Retries
once.
org.apache.thrift.TApplicationException: Invalid method name:
'get_table_req'

because ThriftHiveMetastore of version 2.1 does not have the method (as it
uses get_table method which got deprecated in 2.3).

The question is: is it possible for hive metastore client of version 2.3 to
interact with hive of version 2.1 without that method's invocation? If not,
what are my options?

P.s. There is a configuration property
https://github.com/apache/hive/blob/rel/release-2.3.3/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java#L598
(added in the same commit as 'get_table_req' method) which is true by
default, but does nothing in the case, but it looks like if it should (If I
understand it correctly, my queries should have failed fast, even before
the method invocation). Disabling it (setting to false) produced the same
result as described above.