dengzhhu653 commented on PR #4257: URL: https://github.com/apache/hive/pull/4257#issuecomment-1588344974
> @dengzhhu653 Thanks for your review. In this patch we want `AbstractHMSHandlerProxy` become an interface easy to expand other proxy strategies beyond just "retrying", like timing or something else. It may be different from `RetryingHMSHandlerHook`, WDYT? Retrying on transient exception is a good way to reduce the network roundtrip client retries, besides there has been a property `hive.hmshandler.retry.attempts` to control the number of retries, e.g, 0 for disabling the retry mechanism. Given the template method `AbstractHMSHandlerProxy` provided: ``` protected abstract Result invokeInternal(Object proxy, Method method, Object[] args) throws Throwable; ``` Whatever the strategies is, method should is called on the `proxy` in the child's `invokeInternal`, that's what `RetryingHMSHandler` does currently. So in my view, if there is no special need to introduce complex strategies on `method.invoke(proxy, args)`, then let's keep the codes simple. Thanks, Zhihua -- 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: gitbox-unsubscr...@hive.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: gitbox-unsubscr...@hive.apache.org For additional commands, e-mail: gitbox-h...@hive.apache.org