Uploaded image for project: 'Hive'
  1. Hive
  2. HIVE-20271 Improve HoS query cancellation handling
  3. HIVE-16422

Should kill running Spark Jobs when a query is cancelled.

    XMLWordPrintableJSON

    Details

    • Type: Sub-task
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.1.0
    • Fix Version/s: 3.0.0
    • Component/s: Spark
    • Labels:
      None

      Description

      Should kill running Spark Jobs when a query is cancelled. When a query is cancelled, Driver.releaseDriverContext will be called by Driver.close. releaseDriverContext will call DriverContext.shutdown which will call all the running tasks' shutdown.

        public synchronized void shutdown() {
          LOG.debug("Shutting down query " + ctx.getCmd());
          shutdown = true;
          for (TaskRunner runner : running) {
            if (runner.isRunning()) {
              Task<?> task = runner.getTask();
              LOG.warn("Shutting down task : " + task);
              try {
                task.shutdown();
              } catch (Exception e) {
                console.printError("Exception on shutting down task " + task.getId() + ": " + e);
              }
              Thread thread = runner.getRunner();
              if (thread != null) {
                thread.interrupt();
              }
            }
          }
          running.clear();
        }
      

      since SparkTask didn't implement shutdown method to kill the running spark job, the spark job may be still running after the query is cancelled. So it will be good to kill the spark job in SparkTask.shutdown to save cluster resource.

        Attachments

        1. HIVE-16422.000.txt
          2 kB
          Zhihai Xu

          Issue Links

            Activity

              People

              • Assignee:
                zxu Zhihai Xu
                Reporter:
                zxu Zhihai Xu
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: