Hi Tison,
we use a modified version of the Program interface to enable a web UI do
properly detect and run Flink jobs contained in a jar + their parameters.
As stated in [1], we dected multiple Main classes per jar by handling an
extra comma-separeted Manifest entry (i.e. 'Main-classes').

As mentioned on the discussion on the dev ML, our revised Program interface
looks like this:

public interface FlinkJob {
  String getDescription();
  List<FlinkJobParameter> getParameters();
  boolean isStreamingOrBatch();
}

public class FlinkJobParameter {
  private String paramName;
  private String paramType = "string";
  private String paramDesc;
  private String paramDefaultValue;
  private Set<String> choices;
  private boolean mandatory;
}

I've also opened some JIRA issues related to this topic:

[1] https://issues.apache.org/jira/browse/FLINK-10864
[2] https://issues.apache.org/jira/browse/FLINK-10862
[3] https://issues.apache.org/jira/browse/FLINK-10879.

Best,
Flavio


On Mon, Jul 22, 2019 at 1:46 PM Zili Chen <wander4...@gmail.com> wrote:

> Hi guys,
>
> We want to have an accurate idea of how many people are implementing
> Flink job based on the interface Program, and how they actually
> implement it.
>
> The reason I ask for the survey is from this thread[1] where we notice
> this codepath is stale and less useful than it should be. As it is an
> interface marked as @PublicEvolving it is originally aimed at serving
> as user interface. Thus before doing deprecation or dropping, we'd like
> to see if there are users implementing their job based on this
> interface(org.apache.flink.api.common.Program) and if there is any,
> we are curious about how it is used.
>
> If little or none of Flink user based on this interface, we would
> propose deprecating or dropping it.
>
> I really appreciate your time and your insight.
>
> Best,
> tison.
>
> [1]
> https://lists.apache.org/thread.html/7ffc9936a384b891dbcf0a481d26c6d13b2125607c200577780d1e18@%3Cdev.flink.apache.org%3E
>

Reply via email to