I've known that Apache Flink have the capacity of Exactly once, which relies on the checkpoint mechanism and the resendable data source.
As my understanding, if an operator of Flink gets some error, it needs to make its last operation to run again, so it must need to get the historical data. In this case, where should/could the historical data be stored?
Saying that the data source is Apache Kafka, so can I let Kafka store the historical data? Can I let Flink store the historical data? Or can I let both of them do so? If both of them can do this thing together, does it mean that I can let Kafka store one part of historical data, let Flink store the other part of historical data so that I can save more historical data?