e filled up with ShuffleDescriptors, especially in session mode.</p>
<h1 id="optimizations-when-building-pipelined-regions">
  Optimizations when building pipelined regions
  <a class="anchor" href="#optimizations-when-building-pipelined-regions">#</a>
</h1>
<p>In Flink, there are two types of data exchanges: pipelined and blocking. When using blocking data exchanges, result partitions are first fully produced and then consumed by the downstream vertices. The produced results are persisted and can be consum