kgyrtkirk commented on a change in pull request #794: HIVE-21884 URL: https://github.com/apache/hive/pull/794#discussion_r335686359
########## 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: actually...it makes sense to LOG.error this - if it will fill up logs for a reason...the subsystem is non-functional -> its an error; I've also inlined this method ---------------------------------------------------------------- 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