apache-flink - 失败时flink如何处理打开的事务
问题描述
我使用的是 Flink 1.12.0,我有一个关于 Flink 2PC 机制的端到端一致性保证的问题。
在检查点开始时,会打开一个事务,并在检查点成功完成后提交该事务。
那么如果发生故障怎么办?我认为应该回滚打开的事务?当事务回滚时呢?谢谢。
解决方案
由于 Operator 和 Task Manager 分布在集群内,Flink 必须确保所有组件都同意才能声明提交成功。正如您所说,Flink 使用 2 阶段提交协议,并带有预提交。正如文档中所说,预提交是在检查点期间处理故障的关键
当检查点屏障通过所有操作符并且触发的快照回调完成时,预提交阶段结束。
推荐阅读
- c++ - 使用 std::cout 显示无法按预期工作
- uwp - UWP App剪贴板访问:如何防止多次处理相同的项目
- unity3d - 如何在 Unity 中使用 Mirror 生成不同的预制件?
- wix - 当我们使用 WIX 将鼠标悬停在 .msi 文件上时如何显示版本号
- python - 无法从“utils”错误中导入模块
- python - `.venv` 在 Windows 下在 VSCode 中调试 Python 时被忽略
- android - keyGenerator 中的提供者和密钥名称
- ajax - 在 AJAX 请求中为时事通讯订阅表单设置结果消息(Shopware 6)
- node.js - Windows 10 - 尝试卸载或更改程序时出现错误代码 2330
- kubernetes - 未找到 terraform kubectl 提供程序