SteNicholas commented on code in PR #764: URL: https://github.com/apache/incubator-paimon/pull/764#discussion_r1152686556
########## paimon-hive/paimon-hive-catalog/src/main/java/org/apache/paimon/hive/HiveCatalog.java: ########## @@ -470,17 +472,53 @@ private Lock lock(Identifier identifier) { return Lock.fromCatalog(lock, identifier); } + private static final List<Class<?>[]> GET_PROXY_PARAMS = + Arrays.asList( + // for hive 2.x + new Class<?>[] { + HiveConf.class, + HiveMetaHookLoader.class, + ConcurrentHashMap.class, + String.class, + Boolean.TYPE + }, + // for hive 3.x + new Class<?>[] { + Configuration.class, + HiveMetaHookLoader.class, + ConcurrentHashMap.class, + String.class, + Boolean.TYPE + }); + static IMetaStoreClient createClient(HiveConf hiveConf, String clientClassName) { + Method getProxy = null; + RuntimeException methodNotFound = + new RuntimeException( + "Failed to find desired getProxy method from RetryingMetaStoreClient"); + for (Class<?>[] classes : GET_PROXY_PARAMS) { + try { + getProxy = RetryingMetaStoreClient.class.getMethod("getProxy", classes); + } catch (NoSuchMethodException e) { + methodNotFound.addSuppressed(e); + } + } + if (getProxy == null) { + throw methodNotFound; + } + IMetaStoreClient client; try { client = - RetryingMetaStoreClient.getProxy( - hiveConf, - tbl -> null, - new ConcurrentHashMap<>(), - clientClassName, - true); - } catch (MetaException e) { + (IMetaStoreClient) + getProxy.invoke( + null, + hiveConf, Review Comment: Why does the `Configuration` type parameter `conf` set to null? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@paimon.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org