boolean scheduleNextForCompaction(BlobStore store) {
      if (!enabled || !triggers.contains(Trigger.ADMIN) || !store.isStarted() || storesToSkip.contains(store)
          || storesDisabledCompaction.contains(store)) {
        return false;
      }
      lock.lock();
      try {
        storesToCheck.addFirst(store);
        waitCondition.signal();
        logger.info("Scheduled {} for compaction", store);
      } finally {
        lock.unlock();
      }
      return true;
    }
Schedules the given {@code store} for compaction next.
@param store the {@link BlobStore} to compact.
@return {@code true} if the scheduling was successful. {@code false} if not.
ambry-store/src/main/java/com/github/ambry/store/CompactionManager.java