public void shutdown() {
      shutdown = true;
      interrupt();

      // Asif:Do not exit till QRM thread is dead , else the QRM thread
      // may operate on Null dispatchedMessagesMap //Bug 37046
      boolean interrupted = Thread.interrupted();
      try {
        join(15 * 1000);
      } catch (InterruptedException ignore) {
        interrupted = true;
      } finally {
        if (interrupted) {
          Thread.currentThread().interrupt();
        }
      }
      if (isAlive()) {
        logger.warn("QueueRemovalThread ignored cancellation");
      }
    }
shutdown this thread and the caller thread will join this thread
geode-core/src/main/java/org/apache/geode/internal/cache/ha/HARegionQueue.java