Add version check to activities#472
Conversation
Activities were previously not checking the versioning status of the worker. This was because it was assumed that the orchestration level check would satisfy the activity. However, when multiple workers of the same version are present, the activities can be sent to workers of the incorrect version. This change adds the orchestration version to the activity to allow for versioning checks. Signed-off-by: Hal Spang <halspang@microsoft.com>
|
This fix will make changes safer in general, but there is a trade-off here: it may hurt performance in scenarios when the user is not making changes to activities (or simply doesn't mind the old activity implementation to be active even for new orchestrations for some time). Currently, old workers can still participate in handling the workload while they are still alive. After the fix, they will be immediately excluded. I still believe the fix is a better default behavior, but let's consider either making it configurable, or (long-term) have separate versioning for activities. I'm not blocking on this though: if making it configurable is not trivial, I'm still ok with this fix. |
Agreed! Long-term I want to be able to specify activities versions. This change is to target the immediate user pain and then we can work towards that in the future. |
Signed-off-by: Hal Spang <halspang@microsoft.com>
Activities were previously not checking the versioning status of the worker. This was because it was assumed that the orchestration level check would satisfy the activity. However, when multiple workers of the same version are present, the activities can be sent to workers of the incorrect version. This change adds the orchestration version to the activity to allow for versioning checks.