@Override
  public Future<V> poll() {
    Future<V> poll = super.poll();
    if (!executor.isTerminating() && !overflowQueue.isEmpty() && executor.getActiveCount() < executor.getMaximumPoolSize()) {
      Runnable overflow = overflowQueue.poll();
      if (overflow != null) {
        executor.execute(overflow);
      }
    }
    return poll;
  }
Once the ThreadPoolExecutor is at full capacity, it starts to reject
submissions which are queued for later submission.
ambari-server/src/main/java/org/apache/ambari/server/controller/utilities/BufferedThreadPoolExecutorCompletionService.java