Hi ,

Thanks for the proposal. Some parts I agree, some parts I don't and some
parts are unclear

Agree :
- On introducing a class that binds key, default value, provided value, and
also may be a doc along with it (?).
- Designing the framework to have fallback keys is good IMO. It helps us do
things like https://issues.apache.org/jira/browse/HUDI-89

Disagree :
- Not all configuration values are in HoodieWriteConfig, its not accurate.
Configs are already split by components into HoodieIndexConfig,
HoodieCompactionConfig etc..
- There are helpers for all these conveniently located in
HoodieWriteConfig. I think some of the claims of usability seem subjective
to me, speaking from hands-on experience writing jobs. So, if you proposing
a large shake up (e.g not have a single properties file load all
components), I would love to understand this at more depth. From my
experience, well namespaced configs in a single properties file keeps it
simple and understandable.

Unclear :
- What is impact on existing jobs - using  RDD/WriteClient API, DataSource,
DeltaStreamer level? Do you intend to change namespacing of configs?


Thanks
Vinoth

On Tue, Dec 10, 2019 at 6:44 AM lamberken <[email protected]> wrote:

>
>
> Hi, vino
>
>
> Reasonable,  we can refactor this step by step. The first step now is to
> introduce the config framework.
> When our community is familiar with the config framework mechanism, it's
> easy to integrate FallbackKey in the future.
>
>
> Best,
> lamber-ken
>
>
>
> At 2019-12-10 11:51:22, "vino yang" <[email protected]> wrote:
> >Hi Lamber,
> >
> >Thanks for the proposal. +1 from my side.
> >
> >When it comes to configuration, it will involve how we handle deprecated
> >configuration items in the future. In my opinion, we need to take this
> into
> >consideration when designing. There are already some successful practices
> >for our reference. For example, Flink defines some deprecated
> >configurations as FallbackKey[1]. Maybe we can learn from these designs.
> >
> >WDYT?
> >
> >[1]:
> >
> https://github.com/apache/flink/blob/master/flink-core/src/main/java/org/apache/flink/configuration/FallbackKey.java
> >
> >Best,
> >Vino
> >
> >lamberken <[email protected]> 于2019年12月9日周一 下午11:19写道:
> >
> >>
> >>
> >> Hi, all
> >>
> >>
> >> Currently, many configuration items and their default values are
> dispersed
> >> in the config file like HoodieWriteConfig. It’s very confused for
> >> developers, and it's easy for developers to use them in a wrong place
> >> especially when there are more and more configuration items. If we can
> >> solve this, developers will benefit from it and the code structure will
> be
> >> more concise.
> >>
> >>
> >> I had create a JIRA[1] and a under discuss RFC[2] to explain how to
> solve
> >> the problem, if you are interested in this, you can visit jira and RFC
> for
> >> detail. Any comments and feedback are welcome, WDYT?
> >>
> >>
> >> Best,
> >> lamber-ken
> >>
> >>
> >> [1] https://issues.apache.org/jira/projects/HUDI/issues/HUDI-375
> >> [2]
> >>
> https://cwiki.apache.org/confluence/display/HUDI/RFC-11+%3A+Refactor+of+the+configuration+framework+of+hudi+project
>

Reply via email to