Hi Zili, Thank you for bring us this discussion.
My gut feeling is +1 for dropping it. Usually it costs some time to deprecate a public (actually it's `PublicEvolving`) API. Ideally it should be marked as `Deprecated` first. Then it might be abandoned it in some later version. I'm not sure how big the burden is to make it compatible with the enhanced client API. If it's a critical blocker, I support dropping it radically in 1.10. Of course a survey is necessary. And the result of survey is acceptable. Zili Chen <wander4...@gmail.com> 于2019年7月19日周五 下午1:44写道: > Hi devs, > > Participating the thread "Flink client api enhancement"[1], I just notice > that inside submission codepath of Flink we always has a branch dealing > with the case that main class of user program is a subclass of > o.a.f.api.common.Program, which is defined as > > @PublicEvolving > public interface Program { > Plan getPhan(String... args); > } > > This class, as user-facing interface, asks user to implement #getPlan > which return a almost Flink internal class. FLINK-10862[2] pointed out > this confusion. > > Since our codebase contains quite a bit code handling this stale class, > and also it obstructs the effort enhancing Flink cilent api, > I'd like to propose dropping it. Or we can start a survey on user list > to see if there is any user depending on this class. > > best, > tison. > > [1] > > https://lists.apache.org/thread.html/ce99cba4a10b9dc40eb729d39910f315ae41d80ec74f09a356c73938@%3Cdev.flink.apache.org%3E > [2] https://issues.apache.org/jira/browse/FLINK-10862 >