Hello,

For a programmatic use in Java of the Flink REST API, which of these options 
would be the best choice?

  1.  Direct use via a REST client
  2.  The 
RestClusterClient<https://nightlies.apache.org/flink/flink-docs-stable/api/java/index.html?org/apache/flink/client/program/rest/RestClusterClient.html>
 API

RestClusterClient is appealing, because it embeds a bunch of code that we 
wouldn't need to write and maintain.

But I also see reasons to stay away from it:

  1.  Its 
javadoc<https://javadoc.io/doc/org.apache.flink/flink-clients/latest/index.html>
 can be found by searching the web (versioned per version of Flink / 
flink-clients), but I didn't find a user documentation. 
https://nightlies.apache.org/flink/flink-docs-stable/ doesn't seem to mention 
RestClusterClient.
  2.  Its API isn't marked @Public nor @PublicEvolving.
  3.
In 2019, Till Rohrmann (Flink PMC member) wrote: "Flink's cluster REST API has 
been designed to work with any REST client. The RestClusterClient which comes 
with the flink-clients module is intended for internal usage." 
https://stackoverflow.com/a/56127387/1723384
  4.
If at a later time we would bring authentication to the Flink REST API, say via 
nginx proxy side-car, RestClusterClient wouldn't know how to deal with it.

Do I miss something?
Would the community nowadays recommend using RestClusterClient, at least in 
situations without authentication?

Thanks,
Adrian

Unless otherwise stated above:

Compagnie IBM France
Siège Social : 17, avenue de l'Europe, 92275 Bois-Colombes Cedex
RCS Nanterre 552 118 465
Forme Sociale : S.A.S.
Capital Social : 664 069 390,60 €
SIRET : 552 118 465 03644 - Code NAF 6203Z

Reply via email to