+1 to remove directly the Program class (I think nobody use it and it's not supported at all by REST services and UI). Moreover it requires a lot of transitive dependencies while it should be a very simple thing.. +1 to add this discussion to "Flink client api enhancement"
On Fri, Jul 19, 2019 at 11:14 AM Biao Liu <mmyy1...@gmail.com> wrote: > To Flavio, good point for the integration suggestion. > > I think it should be considered in the "Flink client api enhancement" > discussion. But the outdated API should be deprecated somehow. > > Flavio Pompermaier <pomperma...@okkam.it> 于2019年7月19日周五 下午4:21写道: > > > In my experience a basic "official" (but optional) program description > > would be very useful indeed (in order to ease the integration with other > > frameworks). > > > > Of course it should be extended and integrated with the REST services and > > the Web UI (when defined) in order to be useful.. > > It ease to show to the user what a job does and which parameters it > > requires (optional or mandatory) and with a proper help description. > > Indeed, when we write a Flink job we implement the following interface: > > > > public interface FlinkJob { > > String getDescription(); > > List<FlinkJobParameter> getParameters(); > > boolean isStreamingOrBatch(); > > } > > > > public class ClusterJobParameter { > > > > private String paramName; > > private String paramType = "string"; > > private String paramDesc; > > private String paramDefaultValue; > > private Set<String> choices; > > private boolean mandatory; > > } > > > > This really helps to launch a Flink job by a frontend (if the rest > services > > returns back those infos). > > > > Best, > > Flavio > > > > On Fri, Jul 19, 2019 at 9:57 AM Biao Liu <mmyy1...@gmail.com> wrote: > > > > > 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 > > > > > > > > > >