kgyrtkirk commented on a change in pull request #794: HIVE-21884 URL: https://github.com/apache/hive/pull/794#discussion_r335685560
########## File path: ql/src/java/org/apache/hadoop/hive/ql/schq/MetastoreBasedScheduledQueryService.java ########## @@ -0,0 +1,64 @@ +package org.apache.hadoop.hive.ql.schq; + +import org.apache.hadoop.hive.conf.HiveConf; +import org.apache.hadoop.hive.conf.HiveConf.ConfVars; +import org.apache.hadoop.hive.metastore.IMetaStoreClient; +import org.apache.hadoop.hive.metastore.api.MetaException; +import org.apache.hadoop.hive.metastore.api.ScheduledQueryPollRequest; +import org.apache.hadoop.hive.metastore.api.ScheduledQueryPollResponse; +import org.apache.hadoop.hive.metastore.api.ScheduledQueryProgressInfo; +import org.apache.hadoop.hive.ql.metadata.Hive; +import org.apache.hadoop.hive.ql.metadata.HiveException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class MetastoreBasedScheduledQueryService implements IScheduledQueryMaintenanceService { + + private static final Logger LOG = LoggerFactory.getLogger(MetastoreBasedScheduledQueryService.class); + private HiveConf conf; + + public MetastoreBasedScheduledQueryService(HiveConf conf) { + this.conf = conf; + } + + @Override + public ScheduledQueryPollResponse scheduledQueryPoll() { + try { + ScheduledQueryPollRequest request = new ScheduledQueryPollRequest(); + request.setClusterNamespace(getClusterNamespace()); + ScheduledQueryPollResponse resp = getMSC().scheduledQueryPoll(request); + return resp; + } catch (Exception e) { + logException("Exception while polling scheduled queries", e); + return null; + } + } + + @Override + public void scheduledQueryProgress(ScheduledQueryProgressInfo info) { + try { + getMSC().scheduledQueryProgress(info); + } catch (Exception e) { + logException("Exception while updating scheduled execution status of: " + info.getScheduledExecutionId(), e); + } + } + + private IMetaStoreClient getMSC() throws MetaException, HiveException { + return Hive.get(conf).getMSC(); + } + + static void logException(String msg, Exception e) { + if (LOG.isDebugEnabled()) { Review comment: okay; I might be wrong - but the rational behind it is that if something goes wrong it will get back an exception for every poll - if I set it to log the full exception that might fill up the logfile (earlier). ---------------------------------------------------------------- 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services --------------------------------------------------------------------- To unsubscribe, e-mail: gitbox-unsubscr...@hive.apache.org For additional commands, e-mail: gitbox-h...@hive.apache.org