 approach for coordinating commits and rollbacks in a distributed system is the <a href="https://en.wikipedia.org/wiki/Two-phase_commit_protocol">two-phase commit protocol</a>. In the next section, we&rsquo;ll go behind the scenes and discuss how Flink&rsquo;s <code>TwoPhaseCommitSinkFunction </code>utilizes the two-phase commit protocol to provide end-to-end exactly-once semantics.</p>
<h2 id="end-to-end-exactly-once-applications-with-apache-flink">
  End-to-end Exactly Once Applications with Apache Flink
