Hi all, HIVE-12679 (fixed in 4.2.0) added support for pluggable IMetaStoreClient viametastore.client.impl through the new HiveMetaStoreClientBuilder. However,HiveClientCache used by HCatalog's HCatInputFormat/HCatOutputFormat was not updated as part of that work. It still hardcodes HiveMetaStoreClient in both getNonCachedHiveMetastoreClient() and CacheableHiveMetaStoreClient extends HiveMetaStoreClient.
This means any custom IMetaStoreClient configured via hive.metastore.client.impl is ignored when accessing Hive tables through HCatalog (e.g., MapReduce jobsusing HCatInputFormat). I've opened a PR with a fix: https://github.com/apache/hive/pull/6462 JIRA: https://issues.apache.org/jira/browse/HIVE-29595 The change is limited to metastore/src/java/.../HiveClientCache.java: - getNonCachedHiveMetastoreClient() reads the class name from METASTORE_CLIENT_IMPL instead of hardcoding HiveMetaStoreClient - CacheableHiveMetaStoreClient refactored to use InvocationHandler/Proxy so it can wrap any IMetaStoreClient implementation- Existing TestHiveClientCache tests pass (5/5)Would appreciate any feedback or review. Thanks, Jayesh
