在下面的Flink逻辑中,我想知道检查点的机制。
假设有如下的简单数据流。
source (kafka) -> process -> sink (db)
字符串
据我所知,检查站的障碍是注射和通过整个操作员。
当barrier到达源时,通过快照将偏移量和分区存储到外部存储器,并在源操作符处完成检查点操作,然后进行下一步。同样,在以下操作符中也做同样的事情。
在这个接收运算子中,假设发生例外状况,且作业重新启动。
在该场景中,整个检查点未完成,可以在 Jmeter 板中看到检查点失败。
正如我提到的,我知道整个检查点都失败了,但我想知道状态是回滚还是在before操作符(源、进程)中维护
或者状态是回滚,因为其中一个操作符(接收器)出现异常并重新启动了作业?
谢谢.
1条答案
按热度按时间krugob8w1#
每个操作符中的状态都回滚到检查点中记录的状态,然后重新启动作业。