protected void assignSplits() {
    LOG.info(
        "Assign mixed-format splits to {} readers, subtasks:{}.",
        readersAwaitingSplit.size(),
        readersAwaitingSplit.keySet().toArray());
    final Iterator<Map.Entry<Integer, String>> awaitingReader =
        readersAwaitingSplit.entrySet().iterator();
    while (awaitingReader.hasNext()) {
      final Map.Entry<Integer, String> nextAwaiting = awaitingReader.next();

      // if the reader that requested another split has failed in the meantime, remove
      // it from the list of waiting readers
      if (!enumeratorContext.registeredReaders().containsKey(nextAwaiting.getKey())) {
        LOG.info(
            "Due to this reader doesn't registered in the enumerator context any more, so remove this subtask reader"
                + " [{}] from the awaiting reader map.",
            nextAwaiting.getKey());
        awaitingReader.remove();
        continue;
      }

      final int awaitingSubtask = nextAwaiting.getKey();
      final Split nextSplit = assigner.getNext(awaitingSubtask);
      if (nextSplit.isAvailable()) {
        MixedFormatSplit mixedFormatSplit = nextSplit.split();
        LOG.info(
            "assign a mixed-format split to subtaskId {}, taskIndex {}, mixed-format split {}.",
            awaitingSubtask,
            mixedFormatSplit.taskIndex(),
            mixedFormatSplit);
        enumeratorContext.assignSplit(mixedFormatSplit, awaitingSubtask);
        awaitingReader.remove();
      } else if (nextSplit.isUnavailable()) {
        if (!shouldWaitForMoreSplits()) {
          LOG.info("No more splits available for subtask {}", awaitingSubtask);
          enumeratorContext.signalNoMoreSplits(awaitingSubtask);
          awaitingReader.remove();
        } else {
          fetchAvailableFutureIfNeeded();
          break;
        }
      }
    }
  }
return true if enumerator should wait for splits like in the continuous enumerator case.
amoro-format-mixed/amoro-mixed-flink/amoro-mixed-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/enumerator/AbstractMixedFormatEnumerator.java