@Override
  public synchronized ListenableFuture<?> isFull() {
    int currentIndex = downStreamChannelIndex.getCurrentIndex();
    // try open channel
    tryOpenChannel(currentIndex);
    // It is safe to use currentChannel.isFull() to judge whether we can send a TsBlock only when
    // downStreamChannelIndex will not be changed between we call isFull() and send() of
    // ShuffleSinkHandle
    return downStreamChannelList.get(currentIndex).isFull();
  }
max bytes this ShuffleSinkHandle can reserve.
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/exchange/sink/ShuffleSinkHandle.java