Thanks for drafting this FLIP. I really like the idea of introducing a concept in Flink that is close to a logical plan submission.
I have a few questions about the proposal and its future evolvability. - What is the future plan for job submissions in Flink? With the current proposal, Flink will support JobGraph/StreamGraph/compiled plan submissions? It might be confusing for users and complicate the existing job submission logic significantly. - The FLIP mentions multiple areas of optimization, first operator chaining and second dynamic switches between join strategies. I think from a Flink perspective, these are, at the moment, separate concerns. For operator chaining, I agree with the current proposal, which is a concept that applies generally to Flink's runtime. For join strategies, they are only applicable when using an optimizer (that's currently not part of Flink's runtime) with the Table API or Flink SQL. How do we plan to connect the optimizer with Flink's runtime? - With table/SQL API we already expose a compiled plan to support stable version upgrades. It would be great to explore a joined plan to also offer stable version upgrades with a potentially persistent streamgraph. Best, Fabian