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" <guanlinzh...@hotmail.com> 写道: >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恢复会保留之前的状态么? > >