Hi Chesnay, I think the affected options are a bit more than we thought. I created a sub-task [1] to add checks to guarantee the non-deprecated options not conflicting with standard YAML for newly added options in the future.
[1] https://issues.apache.org/jira/browse/FLINK-29410 Best Yun Tang ________________________________ From: Chesnay Schepler <ches...@apache.org> Sent: Friday, September 23, 2022 21:02 To: dev@flink.apache.org <dev@flink.apache.org>; Matthias Pohl <matthias.p...@aiven.io.INVALID> Subject: Re: [DISCUSS][FLINK-29372] Add a suffix to keys that violate YAML spec The PR contains a test now. This is a list of affected options and their new suffix: * env.java.opts{.all] * kubernetes.pod-template-file[.default] * execution.checkpointing.unaligned[.enabled] * high-availability[.type] * restart-strategy[.type] * cleanup-strategy[.type] * state.backend[.type] * kubernetes.jobmanager.cpu[.amount] * kubernetes.taskmanager.cpu[.amount] * kubernetes.container.image[.ref] * metrics.scope.jm.job -> metrics.scope.jm-job * metrics.scope.tm.job -> metrics.scope.tm-job On 22/09/2022 14:15, Matthias Pohl wrote: > +1 That sounds like a good idea. Does it make sense to add a validation > step to prevent new configuration parameters from running into the same > issue (with whitelisting the existing ones)? > > Matthias > > On Thu, Sep 22, 2022 at 6:35 AM Yun Tang <myas...@live.com> wrote: > >> +1 >> >> This is the prerequisite to help us to introduce a standard YAML parser, >> which has been discussed in different tickets [1] [2]. >> >> >> [1] https://issues.apache.org/jira/browse/FLINK-23620 >> [2] https://issues.apache.org/jira/browse/FLINK-29366 >> >> Best >> Yun Tang >> ________________________________ >> From: Yang Wang <danrtsey...@gmail.com> >> Sent: Thursday, September 22, 2022 11:00 >> To: dev@flink.apache.org <dev@flink.apache.org> >> Subject: Re: [DISCUSS][FLINK-29372] Add a suffix to keys that violate YAML >> spec >> >> This will make it possible to replace the current rough implementation[1] >> with a common yaml parser. >> And then we could avoid some unexpected behaviors[2]. >> >> +1 >> >> [1]. >> >> https://github.com/apache/flink/blob/master/flink-core/src/main/java/org/apache/flink/configuration/GlobalConfiguration.java#L179 >> [2]. https://issues.apache.org/jira/browse/FLINK-15358 >> >> Best, >> Yang >> >> Konstantin Knauf <kna...@apache.org> 于2022年9月22日周四 04:26写道: >> >>> Make sense to me. It is moving us in the right direction and makes it >>> possible to drop these keys with Flink 2.0 if that ever happens :) >>> >>> Am Mi., 21. Sept. 2022 um 16:06 Uhr schrieb Chesnay Schepler < >>> ches...@apache.org>: >>> >>>> Hi, >>>> >>>> we have a small number of options in Flink whose key is a prefix of >>>> other keys. >>>> >>>> This violates the YAML spec; when you view the options as a tree only >>>> leaf nodes may have properties. >>>> >>>> While this is a minor issue from our side I think this can be quite >>>> annoying for users, since it means you can't read or validate a Flink >>>> config with standard yaml tools. >>>> >>>> I'd like to add a suffix to those keys to resolve this particular >>>> problem, while still supporting the previous keys (as deprecated). >>>> >>>> AFAICT there aren't any risks here, >>>> except if users have a search&replace step for one of these options in >>>> the default config of the Flink distribution; >>>> however this seems unsafe in any case since the contents of the default >>>> config may change. >>>> >>>> This would also bring us a step closer to our goal of using a compliant >>>> YAML parser. >>>> >>> >>> -- >>> https://twitter.com/snntrable >>> https://github.com/knaufk >>>