Hi, 如果在中间添加了op,或者修改了处理逻辑,那么代表拓扑图会变,那么基于拓扑序所确定的uid也会变,从状态恢复就可能失败。具体可以参考[1]
目前table api应该是没有开放自定义uid的能力,可以在jira[2]上新建一个feature的jira,然后在dev邮件里发起讨论下。
[1]
https://github.com/apache/flink/blob/92eef24d4cc531d6474252ef909fc6d431285dd9/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/plan/nodes/exec/ExecNodeBase.java#L243C38-L243C62
[2] https://issues.apache.org/jira/projects/FLINK/issues/
--
Best!
Xuyang
在 2024-04-25 01:18:55,"Guanlin Zhang" 写道:
>Hi Team,
>
>我们这边的业务使用 Flink MySQL CDC到 OpenSearch并且使用TABLE API: INSERT INTO t1 SELECT *
>FROM t2 这种方式。
>
>由于我们这边可能会在运行过程中添加额外的Operator,我们有办法在使用snapshot 恢复后保留之前src和sink
>operator的状态么?我看到在DataStream API可以通过设定uid。Table API有同样的方法吗?我看到Flink
>jira:https://issues.apache.org/jira/browse/FLINK-28861
>可以设置table.exec.uid.generation=PLAN_ONLY。请问默认配置下,中间添加transformation
>operator或者其他变更后从snapshot恢复会保留之前的状态么?
>
>