mmit attempt. This process is critical because if the commit does not eventually succeed, data loss occurs.</li>
</ul>
<p>Therefore, we can be sure that all operators agree on the final outcome of the checkpoint: all operators agree that the data is either committed or that the commit is aborted and rolled back.</p>
<h2 id="implementing-the-two-phase-commit-operator-in-flink">
  Implementing the Two-Phase Commit Operator in Flink
  <a class="anchor" href="#implementing-the-two-phase-commit-operator-in-flink