Hi folks!

At this point, Hive hooks are running synchronously:

for (ExecuteWithHookContext hook : hooks) {
  perfLogger.perfLogBegin(CLASS_NAME, prefix + hook.getClass().getName());
  hook.run(hookContext);
  perfLogger.perfLogEnd(CLASS_NAME, prefix + hook.getClass().getName());
}

My current problem is that if any problem happens with the hook, it just
slows Hive down.
In the current situation, we got a hook that has a retry logic in it and it
consumed a lot of time from the Hive side.

I'm thinking about two possible solutions:
- running the hooks asynchronously, so that Hive wouldn't even care about
how long the hooks are running
- adding a timeout (like 2 seconds) to run the hook.

What are your thoughts?

Thank you,
Zsolt

Reply via email to