public void put(T element) throws InterruptedException {
    final ReentrantLock lock = this.lock;
    lock.lockInterruptibly();
    try {
      queue.add(element);
      if (queue.size() > maxSize) {
        this.pollLast();
      }
      notEmpty.signal();
    } finally {
      lock.unlock();
    }
  }
This is a priority blocking queue with a maximum size. If the queue's size is larger than the max
size, the element with max priority will be kick out.
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/datastructure/FixedPriorityBlockingQueue.java