【问题标题】:In Flink state query, whether the result of query is read-uncommitted or read-committed在 Flink 状态查询中,查询的结果是读未提交还是读提交
【发布时间】:2020-09-26 05:45:09
【问题描述】:

这个paper,说

可查询状态的当前实现支持通过键点查找值。查询客户端向 Flink master (JobManager) 询问持有查询 key 的 state 分区的 operator 实例的位置。然后,客户端向相应的 TaskManager 发送请求,该 TaskManager 从状态后端检索当前为该键保存的值。从传统的数据库隔离级别来看,查询访问未提交状态,因此遵循未提交读隔离级别。作为未来的工作,我们计划通过让 TaskManager 保持已提交快照的状态,并使用该状态来回答即席查询来添加已提交读隔离支持。

在最新版本的 Flink 中是否已经实现了带有已提交读隔离级别的状态查询。

【问题讨论】:

    标签: apache-flink state-management


    【解决方案1】:

    不,这没有改变。使用可查询状态,您可以访问处理查询时发生的任何状态。

    这意味着,例如,后续恢复可能会有效地将状态回滚到较早的值。

    【讨论】:

    • 感谢您的回答。目前 Flink 是否可以通过本地状态后端查询 read-committed 状态?
    • 几分钟前,我阅读了blog。从 Flink 1.9 开始支持 Savepoint 和 Checkpoint 的状态查询,甚至用户可以修改状态。是否可以认为 Flink 已经实现了对 read-committed 状态的查询。
    • 是的,您可以通过状态处理器 api 从检查点读取它来访问相当于已提交状态的状态。据我所知,没有人将该功能封装在易于使用的服务中。
    • 谢谢,这将是一个小小的贡献。
    猜你喜欢
    • 2020-07-04
    • 1970-01-01
    • 2022-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多