Uploaded image for project: 'Apache Ozone'
  1. Apache Ozone
  2. HDDS-3698 Ozone Non-Rolling upgrades
  3. HDDS-4143

Implement a factory for OM Requests that returns an instance based on layout version.

    XMLWordPrintableJSON

Details

    Description

      • Add the current layout version (MLV) to the OM Ratis request. If there is no layout version present, we can default to '0'.
      • Implement Generic factory which stores different instances of Type 'T' sharded by a key & version. A single key can be associated with different versions of 'T'. This is to support a typical use case during upgrade to have multiple versions of a class / method / object and chose them based on current layout version at runtime. Before finalizing, an older version is typically needed, and after finalize, a newer version is needed.
      • Using the generic factory, we scan all the different OM "write" requests and associate them with versions.
      • Layout feature code refactoring. Added more comments and tests.

      Attachments

        Issue Links

          Activity

            People

              avijayan Aravindan Vijayan
              avijayan Aravindan Vijayan
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: