>We know that the data sink in our example has such external state because it&rsquo;s writing data to Kafka. In this case, in the pre-commit phase, the data sink must pre-commit its external transaction in addition to writing its state to the state backend.</p>
<center>
<img src="/img/blog/eo-post-graphic-4.png" width="600px" alt="A sample Flink application - precommit with external state"/>
</center>
<p>The pre-commit phase finishes when the checkpoint barrier passes through all of the operators and the tr