Originally I assumed that user code programmatic config changes always have
highest priority in Flink. If I understand correctly this is true in other
deployment modes .

So I wouldn’t change that with a flag, the question is whether cluster
config or rest api config has a higher priority. I think the default could
be that rest api has a higher priority so:

(Default) override true:
User code > rest api > cluster conf

Override false :
User code > cluster conf  > rest api

I might be wrong about the current behavior though…


Gyula

On Sun, 28 Aug 2022 at 07:45, Zheng Yu Chen <jam.gz...@gmail.com> wrote:

> Hi Hong:
>
> Well, I think this should be the same idea as Gyula said before
> @Gyula What do you think ?
>
> If it is ok I will add this part to the documentation,Then the next process
> should be initiated by the community to vote this filp, I don't know who
> will host this part? Can someone help me with this 😀
>
>
> Teoh, Hong <lian...@amazon.co.uk.invalid> 于2022年8月27日周六 16:06写道:
>
> > Hi Zheng Yu,
> >
> > Sorry for the late reply, I was on holiday last week.
> >
> > Could we propose the following config instead?
> >
> > rest.submit.job.override-config = true/false
> >   - true: REST API will have priority over user code (i.e. Rest API /
> > Flink CLI > User Code > Cluster Config)
> >   - false (default): user code will have priority over REST API (i.e.
> User
> > Code > Rest API / Flink CLI > Cluster Config)
> >
> > This way, the default behaviour will be according to the proposed FLIP,
> > but we will have an additional toggle to ignore the configuration set in
> > user code.
> >
> >     >    However, there will be a problem in doing this. If the user
> writes
> >     >     this Flink Config in jar by hardcoding, the highest priority
> > must be
> >     >     the code at this time, so the problem may still exist, and the
> > user
> >     >     cannot be prevented from this behavior
> >
> > Hmm, would it be better if we set it such that the
> > "rest.submit.job.override-config" cannot be overwritten in user code
> > (ignored), just like configuration  "jobmanager.rpc.port"?
> >
> > What do you think?
> >
> > Regards,
> > Hong
> >
> >
> >
> > On 26/08/2022, 12:05, "Zheng Yu Chen" <jam.gz...@gmail.com> wrote:
> >
> >     CAUTION: This email originated from outside of the organization. Do
> > not click links or open attachments unless you can confirm the sender and
> > know the content is safe.
> >
> >
> >
> >     HI Hong,
> >
> >     Maybe you forgot. I don’t know if the current FLIP still needs to be
> >     modified. If not, we will start with the current plan. If you have
> >     relevant ideas in the future, please continue to discuss. If not, we
> >     will open voting at a later date.
> >
> >     Teoh, Hong <lian...@amazon.co.uk.invalid> 于2022年8月22日周一 16:02写道:
> >     >
> >     > Hi Zheng Yu,
> >     >
> >     > We would have to take the same "cluster configuration" (cannot be
> > set on job submission) vs "job configuration" approach in the User code
> as
> > well. And we can classify
> jobmanager.rest.api.submit.job.allow-reset-config
> > as a cluster configuration. That way, neither the REST API / User code
> can
> > override this configuration, and it can only be set in cluster
> > configuration on startup.
> >     >
> >     > There are other cluster specific configurations that are already
> > treated this way (e.g. jobmanager.rpc.address,
> > jobmanager.memory.process.size). As part of this work, I wonder if we can
> > update the Flink docs on configuration (
> >
> https://nightlies.apache.org/flink/flink-docs-master/docs/deployment/config/
> )
> > to specify which configuration is "cluster" and which is "job".
> >     >
> >     > Regards,
> >     > Hong
> >     >
> >     >
> >     >
> >     > On 20/08/2022, 09:16, "Zheng Yu Chen" <jam.gz...@gmail.com> wrote:
> >     >
> >     >     CAUTION: This email originated from outside of the
> organization.
> > Do not click links or open attachments unless you can confirm the sender
> > and know the content is safe.
> >     >
> >     >
> >     >
> >     >      @Gyula say that  add a config for this but not expose it on
> the
> > rest
> >     >     api is right
> >     >     when user start up session cluster,we can config (eg
> >     >     jobmanager.rest.api.submit.job.allow-reset-config = true/false)
> > to
> >     >     controller this behavior
> >     >
> >     >     Now we have an existing cluster, the admin configures
> > checkpointing
> >     >     interval by this session cluster
> >     >
> >     >     jobmanager.rest.api.submit.job.allow-reset-config = true/false
> >     >
> >     >     - true : allow user reset new value config
> >     >     - false(default) : not allow user set new config from ,throw
> exp
> > to
> >     >     tell user what properties is admin was set it
> >     >
> >     >     However, there will be a problem in doing this. If the user
> > writes
> >     >     this Flink Config in jar by hardcoding, the highest priority
> > must be
> >     >     the code at this time, so the problem may still exist, and the
> > user
> >     >     cannot be prevented from this behavior.
> >     >
> >     >     what do you think ?
> >     >
> >     >     @Hong @Gyula @Teoh @Danny
> >     >
> >     >
> >     >     Gyula Fóra <gyula.f...@gmail.com> 于2022年8月18日周四 18:37写道:
> >     >     >
> >     >     > +1 for the proposal.
> >     >     >
> >     >     > @Hong : I feel that the inverted override flag should be a
> > cluster setting
> >     >     > and not something the user can override at will. I fear that
> > this might
> >     >     > defeat the purpose of the feature itself.
> >     >     > So I think we should add a config for this but not expose it
> > on the rest api
> >     >     >
> >     >     > Gyula
> >     >     >
> >     >     > On Thu, Aug 18, 2022 at 12:33 PM Teoh, Hong
> > <lian...@amazon.co.uk.invalid>
> >     >     > wrote:
> >     >     >
> >     >     > > +1 to this FLIP.
> >     >     > > This is very useful for teams building a Flink platform to
> > run jobs from
> >     >     > > an external user
> >     >     > >
> >     >     > > +1 on Danny's comment on adding a configuration to allow
> > inverted order of
> >     >     > > overrides.
> >     >     > > However, might it be better to include an "override" toggle
> > in the REST
> >     >     > > API itself? That way we can change the flink configuration
> > override
> >     >     > > behaviour without restarting the Flink cluster. This would
> > make sense if we
> >     >     > > are thinking of a Session cluster and deploying multiple
> > Flink jobs to the
> >     >     > > same cluster.
> >     >     > >
> >     >     > > Regards,
> >     >     > > Hong
> >     >     > >
> >     >     > >
> >     >     > > On 18/08/2022, 10:46, "Danny Cranmer" <
> > dannycran...@apache.org> wrote:
> >     >     > >
> >     >     > >     CAUTION: This email originated from outside of the
> > organization. Do
> >     >     > > not click links or open attachments unless you can confirm
> > the sender and
> >     >     > > know the content is safe.
> >     >     > >
> >     >     > >
> >     >     > >
> >     >     > >     +1 thanks for driving this FLIP.
> >     >     > >
> >     >     > >     We actually have an internally forked equivalent of
> > this, which is on
> >     >     > > our
> >     >     > >     list to try to upstream. Your proposal would *almost*
> > work "off the
> >     >     > > shelf"
> >     >     > >     for us. We have an inverted order or priority:
> >     >     > >     - Rest API / Flink CLI > User Code > Cluster Config
> >     >     > >
> >     >     > >     This is because our end users do not submit their jobs
> > directly, our
> >     >     > >     service does it on their behalf. For our usecase we do
> > not want to
> >     >     > > allow
> >     >     > >     users to override certain values we set, since some are
> > managed from
> >     >     > > our
> >     >     > >     service configuration, example: checkpointing interval.
> >     >     > >
> >     >     > >     How would you feel about including a cluster
> > configuration to invert
> >     >     > > the
> >     >     > >     order? This could be decoupled to a follow-up FLIP.
> >     >     > >
> >     >     > >     Thanks,
> >     >     > >     Danny Cranmer
> >     >     > >
> >     >     > >
> >     >     > >     On Tue, Aug 16, 2022 at 7:21 AM Zheng Yu Chen <
> > jam.gz...@gmail.com>
> >     >     > > wrote:
> >     >     > >
> >     >     > >     > This is a good suggestion, we can start this work
> > after we finish the
> >     >     > >     > discussion and vote
> >     >     > >     >
> >     >     > >     > --
> >     >     > >     > Best
> >     >     > >     >
> >     >     > >     > ConradJam
> >     >     > >     >
> >     >     > >     >
> >     >     > >     > <zhanghao.c...@outlook.com> 于2022年8月15日周一 21:01写道:
> >     >     > >     >
> >     >     > >     > > I've created a new ticket [FLINK-28973] Extending
> >     >     > > /jars/:jarid/plan API
> >     >     > >     > to
> >     >     > >     > > support setting Flink configs - ASF JIRA (
> apache.org
> > )<
> >     >     > >     > > https://issues.apache.org/jira/browse/FLINK-28973
> >.
> > for the job
> >     >     > > plan
> >     >     > >     > API.
> >     >     > >     > > Maybe we can create a new umbrella ticket for
> > FLIP-256 and put
> >     >     > >     > FLINK-27060
> >     >     > >     > > & FLINK-28973 as subtasks. WDYT?
> >     >     > >     > >
> >     >     > >     > > Best,
> >     >     > >     > > Zhanghao Chen
> >     >     > >     > > ________________________________
> >     >     > >     > > From: zhengyu chen <jam.gz...@gmail.com>
> >     >     > >     > > Sent: Monday, August 15, 2022 18:06
> >     >     > >     > > To: dev@flink.apache.org <dev@flink.apache.org>
> >     >     > >     > > Subject: [DISCUSS] FLIP-256 Support Job Dynamic
> > Parameter With
> >     >     > > Flink Rest
> >     >     > >     > > Api
> >     >     > >     > >
> >     >     > >     > > Hi all,
> >     >     > >     > >
> >     >     > >     > >
> >     >     > >     > > We would like to start a discussion thread on
> > FLIP-256 Support Job
> >     >     > >     > Dynamic
> >     >     > >     > > Parameter With Flink Rest Api
> >     >     > >     > > <
> >     >     > >     > >
> >     >     > >     >
> >     >     > >
> >
> https://cwiki.apache.org/confluence/display/FLINK/FLIP-256+Support+Job+Dynamic+Parameter+With+Flink+Rest+Api
> >     >     > >     > > >
> >     >     > >     > > [1]
> >     >     > >     > >
> >     >     > >     > > After the user submits the jar package, running a
> > job through
> >     >     > > restapi
> >     >     > >     > > (/jars/:jarid/run) [2] can only pass in
> > (allowNonRestoredState,
> >     >     > >     > > savepointPath, programArg, entry-class,
> parallelism)
> > parameters,
> >     >     > > which is
> >     >     > >     > > obvious with the diversification of job parameters
> > (eg Checkpoint
> >     >     > >     > address)
> >     >     > >     > >
> >     >     > >     > > This solves the problem that the user can pass in
> > other parameters
> >     >     > > when
> >     >     > >     > > submitting a job, avoiding the user to define these
> > job parameters
> >     >     > > in the
> >     >     > >     > > code, resulting in the need to repackage the job
> for
> > each
> >     >     > > modification
> >     >     > >     > >
> >     >     > >     > > There was some interest from users [3] from a
> meetup
> > and the
> >     >     > > mailing
> >     >     > >     > list.
> >     >     > >     > > Looking forward to comments and feedback, thanks!
> >     >     > >     > >
> >     >     > >     > >
> >     >     > >     > > [1]
> >     >     > >     > >
> >     >     > >     > >
> >     >     > >     >
> >     >     > >
> >
> https://cwiki.apache.org/confluence/display/FLINK/FLIP-256+Support+Job+Dynamic+Parameter+With+Flink+Rest+Api
> >     >     > >     > >
> >     >     > >     > >
> >     >     > >     > > [2]
> >     >     > >     > >
> >     >     > >     > >
> >     >     > >     >
> >     >     > >
> >
> https://nightlies.apache.org/flink/flink-docs-master/docs/ops/rest_api/#jars-jarid-run
> >     >     > >     > >
> >     >     > >     > > [3]
> > https://issues.apache.org/jira/browse/FLINK-27060
> >     >     > >     > >
> >     >     > >     > >
> >     >     > >     > >
> >     >     > >     > >
> >     >     > >     > > --
> >     >     > >     > > Best
> >     >     > >     > >
> >     >     > >     > > ConradJam
> >     >     > >     > >
> >     >     > >     >
> >     >     > >
> >     >     > >
> >     >
> >
> >     --
> >     Best
> >
> >     ConradJam
> >
> >
>
> --
> Best
>
> ConradJam
>

Reply via email to