Uber Cadence工作流程版本更改兼容性

时间:2020-05-02 19:34:54

标签: cadence-workflow temporal-workflow

我知道我无法对每个工作流进行向后不兼容的更改: How to make changes or fixes to Uber Cadence Workflow without breaking determinism?

但是,我不确定“向后不兼容”在这里是什么意思。是否可以不使用getVersion,period来简单地不部署新代码?或者,只要用于还原的历史记录跟踪在两个版本之间兼容,那么我可以在没有getVersion的情况下进行更新?或者在某些情况下我可以不使用getVersion进行更新?

1 个答案:

答案 0 :(得分:0)

通常,任何可以改变历史记录生成方式的东西都被认为是向后不兼容的。以下更改是向后兼容的:

  • 任何活动实施。
  • 持续时间传递给睡眠和计时器创建功能。
  • 更改活动参数。
  • 更改活动选项和重试策略。
  • 更改不影响工作流执行路径的变量的值。例如,如果某个变量累积了一些数据,而该数据仅在查询中使用。

我们建议保存一些历史记录,然后将其作为单元测试的一部分进行重放,以早日发现不兼容的更改。