Closed Reo-LEI closed 2 years ago
@pvary is this a Hive problem in 2.1.1?
Seems we make a valid RetryingHiveMetastoreClient.getProxy call (ref: https://github.com/apache/hive/blob/rel/release-2.1.1/metastore/src/java/org/apache/hadoop/hive/metastore/RetryingMetaStoreClient.java#L86). Then it internally it calls a method in HiveMetastoreClient that does not exist in this version? That's strange.
Maybe I can switch to call: https://github.com/apache/hive/blob/rel/release-2.1.1/metastore/src/java/org/apache/hadoop/hive/metastore/RetryingMetaStoreClient.java#L97
Its unfortunate, it seems its caused by a bad Hive release in 2.1.1 from this change: https://issues.apache.org/jira/browse/HIVE-12918.
Its fixed by https://issues.apache.org/jira/browse/HIVE-15081 in Hive 2.3 branch but its too late for 2.1 users.
Let me see if there's a common API that works across both version
@szehon-ho Thanks for your fix! I will test the PR later. 😄
Thanks @Reo-LEI for reporting and @szehon-ho for fixing the issue!
Since https://github.com/apache/iceberg/pull/3099 I encounter the
NoSuchMethodException
when I submit flink job to flink cluster which hive metastore version is 2.1.1.I found in #3099,
HiveClientPool
will dynamically callRetryingMetaStoreClient.getProxy(HiveConf.class, Boolean.TYPE)
methon and thegetProxy
will callHiveMetaStoreClient(HiveConf.class, Boolean.class)
constructor, but theHiveMetaStoreClient
don't have this constructor. Finally theNoSuchMethodException
raised.I think we should find a way to be compatible with this. @szehon-ho @rdblue @pvary @jackye1995 @marton-bod