Совместимость изменения версии рабочего процесса Uber Cadence
Я понимаю, что не могу вносить обратно несовместимые изменения в рабочие процессы в соответствии с: Как внести изменения или исправления в рабочий процесс Uber Cadence без нарушения детерминизма?
Однако я не уверен, что здесь означает "обратная несовместимость". Могу ли я просто не развернуть новый код без использования getVersion, точка? Или, если отслеживание истории, которое используется для восстановления, совместимо между двумя версиями, я могу обновлять без getVersion? Или я могу обновиться без getVersion при каких-то условиях?
1 ответ
Обычно все, что может изменить способ создания истории, считается обратно несовместимым. Следующие изменения обратно совместимы:
- Осуществление любой деятельности.
- Продолжительность перехода в спящий режим и функция создания таймера.
- Преобразование аргументов в действия.
- Изменение параметров активности и политик повтора.
- Изменение значений переменных, не влияющих на путь выполнения рабочего процесса. Например, если какая-то переменная накапливает данные, и эти данные используются только в запросе.
Мы рекомендуем сохранить несколько историй, а затем воспроизвести их как часть модульных тестов, чтобы раньше узнать о несовместимых изменениях.