title: Apache Flink : architecture question : backpressure and handling failure mode
body: <p>I have just started reading about Flink and wanted to know more about how Flink handles backpressure and how it handles failures when there is backpressure. I have read this blog post by data-artisans <a href="https://data-artisans.com/blog/how-flink-handles-backpressure" rel="nofollow noreferrer">https://data-artisans.com/blog/how-flink-handles-backpressure</a> and kind of understand the notion of buffer pools and how they deal with backpressure. </p>
  
  <p>My Questions are </p>
  
  <p>(1) how does watermark help in case of remote exchange (when the tasks are on different nodes and buffers are copied to the wire TCP) -- read this in the blog above.</p>
  
  <p>(2) if there is a failure when the system is facing backpressure how is it dealt with? </p>
  
  <p>(3) Is it just the async checkpoints that are used to recover? What does this checkpoint include? </p>
  
  <p>(4) How much of the buffer pool's data state is captured in a checkpoint? </p>