[ 
https://issues.apache.org/jira/browse/HIVE-22193?focusedWorklogId=793489&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-793489
 ]

ASF GitHub Bot logged work on HIVE-22193:
-----------------------------------------

                Author: ASF GitHub Bot
            Created on: 21/Jul/22 02:21
            Start Date: 21/Jul/22 02:21
    Worklog Time Spent: 10m 
      Work Description: dengzhhu653 commented on code in PR #3386:
URL: https://github.com/apache/hive/pull/3386#discussion_r926194772


##########
service/src/java/org/apache/hive/service/server/HiveServer2.java:
##########
@@ -895,6 +897,46 @@ private void stopOrDisconnectTezSessions() {
     }
   }
 
+  public synchronized void decommission() {
+    LOG.info("Decommissioning HiveServer2");
+    // Remove this server instance from ZooKeeper if dynamic service discovery 
is set
+    if (serviceDiscovery && !activePassiveHA && zooKeeperHelper != null) {
+      try {
+        zooKeeperHelper.removeServerInstanceFromZooKeeper();
+      } catch (Exception e) {
+        LOG.error("Error removing znode for this HiveServer2 instance from 
ZooKeeper.", e);
+      }
+    }
+    super.decommission();
+  }
+
+  public synchronized void graceful_stop() {
+    try {
+      decommission();
+      long maxTimeForWait = HiveConf.getTimeVar(getHiveConf(),
+              HiveConf.ConfVars.HIVE_SERVER2_GRACEFUL_STOP_TIMEOUT, 
TimeUnit.MILLISECONDS);
+      if (maxTimeForWait > 0) {
+        ExecutorService service = Executors.newSingleThreadExecutor();
+        Future future = service.submit(() -> {
+          while (getCliService() != null && getCliService().getSessionManager()

Review Comment:
   Remove the executor, change it to execute in hook thread.





Issue Time Tracking
-------------------

    Worklog Id:     (was: 793489)
    Time Spent: 6h 10m  (was: 6h)

> Graceful Shutdown HiveServer2
> -----------------------------
>
>                 Key: HIVE-22193
>                 URL: https://issues.apache.org/jira/browse/HIVE-22193
>             Project: Hive
>          Issue Type: Improvement
>          Components: Server Infrastructure
>            Reporter: chenshiyun
>            Assignee: Zhihua Deng
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 6h 10m
>  Remaining Estimate: 0h
>
> We have a lot of HiveSever2 servers deployed on production environment (about 
> 10 nodes). 
> However, if we want to change configuration or add patches, we would have to 
> restart all of them one by one. So all the Hive Sql job running on the server 
> will be defeated, and there may be some mistakes come up on the jdbc client 
> occasionally.
> In the proposed changes,  planning to add Graceful Shutdown HiveSever2 method 
> to avoid affecting the production environment jobs



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to