akshat0395 commented on code in PR #3955: URL: https://github.com/apache/hive/pull/3955#discussion_r1082268550
########## ql/src/java/org/apache/hadoop/hive/ql/txn/compactor/Worker.java: ########## @@ -118,19 +119,23 @@ public void run() { singleRun.cancel(true); executor.shutdownNow(); executor = getTimeoutHandlingExecutor(); + err = true; } catch (ExecutionException e) { LOG.info("Exception during executing compaction", e); + err = true; } catch (InterruptedException ie) { // do not ignore interruption requests return; + } catch (Throwable t) { + err = true; } doPostLoopActions(System.currentTimeMillis() - startedAt); // If we didn't try to launch a job it either means there was no work to do or we got - // here as the result of a communication failure with the DB. Either way we want to wait + // here as the result of an error like communication failure with the DB, schema failures etc. Either way we want to wait // a bit before, otherwise we can start over the loop immediately. - if (!launchedJob && !stop.get()) { + if ((!launchedJob || err) && !stop.get()) { Review Comment: Before https://github.com/apache/hive/pull/3916/files#diff-c12003e4d6f63a4f8e0aa57aaa808fbf6066789bf4426f6d31123e9399570fd3 change launched Job was used to decide weather thread should go to sleep of not, but that still wasnt suffice to avoid instant respawn and trying to make connection to HMS. This flag ensure that in case of error/Exception we will wait for a dedicated sleep time before again trying to make connection. cc @veghlaci05 -- 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