Hi, Timo, thanks for driving the discussion and the preparation on the FLIP. This is a pain point of Flink SQL complaining by our users badly. I have seen many cases where our users suffer while trying to upgrade the flink version in order to take advantage of the bug fixes and performance improvements on the new version. It often takes a long time verifying the new plan, reoptimizing the config, recomputing the state, waiting for a safe point to make the new job active in production, etc. There are many times that new problems show up in upgrading.
I have a question on COMPILE AND EXECUTE. It doesn't look so good that we just execute the plan and ignore the statement when the plan already exists, but the plan and SQL are not matched. The result would be quite confusing if we still execute the plan directly, we may need to add a validation. Personally I would prefer not to provide such a shortcut, let users use COMPILE PLAN IF NOT EXISTS and EXECUTE explicitly, which can be understood by new users even without inferring the docs. Best, Wenlong