[ https://issues.apache.org/jira/browse/HUDI-1240?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17281871#comment-17281871 ]
Vinoth Chandar commented on HUDI-1240: -------------------------------------- cc [~wenningd] does this make sense? This is the first work in the config cleanup > 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)