private synchronized void completeAvailableFuturesIfNeeded() {
    if (availableFuture != null && !isEmpty()) {
      availableFuture.complete(null);
    }
    availableFuture = null;
  }
In one mixed-format split, the partitions, mask and index of the files are the same.

@param mixedFormatSplit mixed-format source split
@return anyone primary keyed file in the mixed-format split.
amoro-format-mixed/amoro-mixed-flink/amoro-mixed-flink-common/src/main/java/org/apache/amoro/flink/read/hybrid/assigner/ShuffleSplitAssigner.java