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

Reply via email to