I cannot find anything around versioning issues when redeploying a Flink Stateful Function.
When I update and deploy code for a stateful function that has currently executing instances, what effect does that have on:
- Instances currently executing, not awaiting callbacks?
- Instances that are currently awaiting async callback (what code runs when the callback returns)?
- If either or 1 or 2 might be executing the new code, how is the possibly different persisted state of the 2 function versions between old version and the new executing version handled?
- If 2 does not upgrade automatically, how do I cause the new function version to run when I want this to happen for a long running function (say it was awaiting self callback on a 30 day timer and I wanted the new version to be executing on callback return)? And if I can upgrade the version, what is the method of dealing with possible additions or removal of persisted state between versions?