Cadence is a distributed, scalable, durable, and highly available orchestration engine to execute asynchronous long-running business logic in a scalable and resilient way.
What changed?
Added a check whether or not we should own a shard before we steal it.
Why?
This makes sure we do not steal tasklists we do not own according to the
hashring.
How did you test it?
Unit tests, local runs, and deployment in dev environments.
I didn't see any ill effects from the change.
Potential risks
This code path is quite busy, so introducing a check might have performance impacts.
There is a risk that correct requests are rejected because the matching host has a wrong view of the hash ring. I expect this to be transient, and everything should be retried.
We introduce a new error, I have checked the callers and they should all handle unknown errors.
What changed? Added a check whether or not we should own a shard before we steal it.
Why? This makes sure we do not steal tasklists we do not own according to the hashring.
How did you test it? Unit tests, local runs, and deployment in dev environments. I didn't see any ill effects from the change.
Potential risks This code path is quite busy, so introducing a check might have performance impacts.
There is a risk that correct requests are rejected because the matching host has a wrong view of the hash ring. I expect this to be transient, and everything should be retried.
We introduce a new error, I have checked the callers and they should all handle unknown errors.
Release notes
Documentation Changes