public synchronized void push(E element) {
    if (element == null) {
      throw new NullPointerException("pushed element is null");
    }
    Preconditions.checkState(
        size + reservedSize < capacity, "The system can't allow more query tasks.");
    pushToQueue(element);
    size++;
    this.notifyAll();
  }
Get and remove the first element of the queue. Reserve space for this polled element.

@return the queue head element.
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/schedule/queue/IndexedBlockingReserveQueue.java