1

我了解我不能对工作流程进行向后不兼容的更改: 如何在不破坏确定性的情况下对 Uber Cadence 工作流程进行更改或修复?

但是我不确定这里的“向后不兼容”是什么意思。我可以在不使用 getVersion 的情况下不部署新代码吗?或者只要用于恢复的历史跟踪在两个版本之间兼容,那么我可以在没有 getVersion 的情况下进行更新?或者我可以在某些条件下不使用 getVersion 进行更新?

4

1 回答 1

1

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

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

我们建议保存一些历史记录,然后作为单元测试的一部分重放它们,以便更早地找出不兼容的更改。

于 2020-05-04T15:50:18.113 回答