Dear whiskers.

Currently, an invoker rejects an activation with an outdated action.
This can happen in the following situations.

1. Stale activations are sent to invokers.
This is a case where Kafka could not send some activations in time and the
action codes are updated in the meantime. It can happen when a target
invoker fails for some reason. When the invoker becomes healthy again, it
can receive the outdated activations.


2. The underlying action of a sequence action is updated while the sequence
action is running.
In case a sequence action includes long-running actions, the underlying
actions can be updated while the sequence action is still running.

In both cases, invokers receive outdated actions and it rejects them due to
revision mismatch.

@upgle opened a pull request to address this issue.
https://github.com/apache/openwhisk/pull/4954

The main change is to take the latest codes as a fallback when the revision
mismatch occurs.
Since this could be a kind of semantics change as an activation would
successfully run which would have been rejected with the current code,
please share your opinion.

I approved the PR with a warning log denoting the revision mismatch happens.

Since it already has been open for some time, I would merge it in 72 hours.

Regards
Dominic.

Reply via email to