[
https://issues.apache.org/jira/browse/HUDI-1240?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Vinoth Chandar updated HUDI-1240:
---------------------------------
Description:
Cleanup config classes across the board with a {{HoodieConfig}} class in
hudi-common, that wraps a single key,value, default, doc, fallback keys (old
keys this points to. eg).
the notion of fallback keys is very important, such that the user can still use
the old config names and we should be able map it to how we have now renamed.
i.e say there was `hoodie.a.b.c` and we think `hoodie.x.y.z` is a better name,
then `hoodie.a.b.c` should be marked as deprecated (annotation or a boolean in
HoodieConfig) and list `hoodie.x.y.z` as the fallback key. Users should be able
to set `hoodie.a.b.c` for the next 3-6 months at least and internall we
translate it to `hoodie.x.y.z`. None of our code should directly access on
`hoodie.a.b.c` anymore.
We can see the Apache Flink project fpr examples.
Once this is done, first pass we should move all our existing configs to
something like below.
{code:java}
public static final String EMBEDDED_TIMELINE_SERVER_ENABLED =
"hoodie.embed.timeline.server";
public static final String DEFAULT_EMBEDDED_TIMELINE_SERVER_ENABLED = "true";
{code}
becomes
{code:java}
public static HoodieConfig timelineServerEnabled = new HoodieConfig(
"hoodie.embed.timeline.server", //
property name
Boolean.class, // type
true, //default val
Option.empty(), // fallback key
false, //deprecated
"Enables/Disables the timeline
server on the write client.." //doc
)
{code}
was:Cleanup config classes across the board with a {{HoodieConfig}} class in
hudi-common, that wraps a single key,value, default, doc, fallback keys (old
keys this points to. eg).
> Simplify config classes
> -----------------------
>
> Key: HUDI-1240
> URL: https://issues.apache.org/jira/browse/HUDI-1240
> Project: Apache Hudi
> Issue Type: Improvement
> Components: Code Cleanup
> Reporter: sivabalan narayanan
> Priority: Major
>
> Cleanup config classes across the board with a {{HoodieConfig}} class in
> hudi-common, that wraps a single key,value, default, doc, fallback keys (old
> keys this points to. eg).
> the notion of fallback keys is very important, such that the user can still
> use the old config names and we should be able map it to how we have now
> renamed.
> i.e say there was `hoodie.a.b.c` and we think `hoodie.x.y.z` is a better
> name, then `hoodie.a.b.c` should be marked as deprecated (annotation or a
> boolean in HoodieConfig) and list `hoodie.x.y.z` as the fallback key. Users
> should be able to set `hoodie.a.b.c` for the next 3-6 months at least and
> internall we translate it to `hoodie.x.y.z`. None of our code should directly
> access on `hoodie.a.b.c` anymore.
> We can see the Apache Flink project fpr examples.
> Once this is done, first pass we should move all our existing configs to
> something like below.
> {code:java}
> public static final String EMBEDDED_TIMELINE_SERVER_ENABLED =
> "hoodie.embed.timeline.server";
> public static final String DEFAULT_EMBEDDED_TIMELINE_SERVER_ENABLED =
> "true";
> {code}
> becomes
> {code:java}
> public static HoodieConfig timelineServerEnabled = new HoodieConfig(
> "hoodie.embed.timeline.server",
> // property name
> Boolean.class, // type
> true, //default val
> Option.empty(), // fallback key
> false, //deprecated
>
> "Enables/Disables the timeline
> server on the write client.." //doc
> )
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)