While implementing a test case for the Kafka Consumer, I came across the following bug:
Consider the following topology, with the operator parallelism in parentheses:
Source (2) --> Sink (1).
In this setup, the snapshotState() method is called on the source, but not on the Sink.
The sink receives the generated data.
only one of the two sources is generating data.
I've implemented a test case for this, you can find it here: https://github.com/rmetzger/flink/blob/para_checkpoint_bug/flink-tests/src/test/java/org/apache/flink/test/checkpointing/ParallelismChangeCheckpoinedITCase.java