@Override
  public ListenableFuture<?> isBlocked() {
    List<ListenableFuture<?>> listenableFutures = new ArrayList<>();
    for (int i = 0; i < inputOperatorsCount; i++) {
      Operator currentChild = children.get(i);
      if (!noMoreTsBlocks[i] && empty(i) && currentChild != null) {
        ListenableFuture<?> blocked = currentChild.isBlocked();
        if (!blocked.isDone()) {
          listenableFutures.add(blocked);
        }
      }
    }
    return listenableFutures.isEmpty() ? NOT_BLOCKED : successfulAsList(listenableFutures);
  }
Represent whether there are more tsBlocks from ith child operator. If all elements in
noMoreTsBlocks[] are true and inputTsBlocks[] are consumed completely, this operator is
finished.
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/last/LastQueryMergeOperator.java