Hi everyone, I've created a PR to support upgrading live controller / invoker clusters to get on to the new InstanceId json format without taking any downtime.
https://github.com/apache/openwhisk/pull/4970 The new InstanceId serialization was introduced in June so any live clusters on an older commit that want to upgrade past that point will need to follow these steps to upgrade cleanly. The instructions are listed in the PR, but also here they are for record: 1. When upgrading the invokers to latest, the ControllerInstanceId in ActivationMessage fails to deserialize because the instanceType is not included in the message sent from the non-upgraded controllers. 2. Vice versa controllers fail to upgrade if invokers have not been upgraded yet because the completion messages can not deserialize in the controller because the invokers aren't including instanceType. 3. The fix here fixes case 1 so that ControllerInstanceId will still deserialize if instanceType is not included. 4. Upgrade all invokers in your cluster, wait a few minutes so all completed topics are consuming post upgrade messages that now include instanceType 5. Upgrade controllers safely because invokers are now upgraded with the newly formatted messages. Brendan Doyle Software Engineer II, Job Platform