@Override
  public void stop() {
    isStopped = true;

    if (schedulingThread != null) {
      synchronized (schedulingThread) {
        schedulingThread.interrupt();
      }
    }
    candidateWorkers.clear();
    scheduledRequests.clear();
    LOG.info("Task Scheduler stopped");
    super.stop();
  }
 protected void clear() {
   leafTasks.clear();
   nonLeafTasks.clear();
   leafTaskHostMapping.clear();
   leafTasksRackMapping.clear();
 }