public void shutdownAndWaitForMergeTasks(Aggregation agg, boolean aborted) {
      if (aborted){
        agg.aborted.set(true);
      }
      /**
       * Executor.shutdownNow() is supposed to send Thread.interrupt to worker threads, and they are
       * supposed to finish their work.
       */
      executor.shutdownNow();
      try {
        executor.awaitTermination(180, TimeUnit.SECONDS);
      } catch (InterruptedException e) {
        LOG.warn("Bloom filter merge is interrupted while waiting to finish, this is unexpected",
            e);
      }
    }
class for storing the current aggregate value.
ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/aggregates/VectorUDAFBloomFilterMerge.java