Uploaded image for project: 'Apache Hudi'
  1. Apache Hudi
  2. HUDI-1240

Simplify config classes

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • None
    • code-quality
    • None

    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.

        public static final String EMBEDDED_TIMELINE_SERVER_ENABLED = "hoodie.embed.timeline.server";
        public static final String DEFAULT_EMBEDDED_TIMELINE_SERVER_ENABLED = "true";
      

      becomes

         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
      )
      

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              shivnarayan sivabalan narayanan
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: