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

Rolling upgrade to table version 8

    XMLWordPrintableJSON

Details

    Description

       
      Supported migration combinations 

      Obviously, within 1.x code line - writers, readers, table services all need to co-exist for both table versions (tv) 6 & 8. 

        Reader 0.x  Reader 1.x tv=6/8 Table Services 0.x Table Services 1.x tv=6 Table Services 1.x tv=8
      Writer 1.x tv=6
      Writer 1.x tv=8
      Table Services 1.x tv=6
      Table Services 1.x tv=8

      We are making the practical restriction that table services 0.x, need to be stopped first, upgraded to new binary 1.x, before resuming operations even for tv=6 to be able to co-exist with a 1.x tv=6 writer.

      Recommended migration steps 

      1. Stop any async table services in 0.x completely. 
      2. Upgrade writers to 1.x with tv=6 (this won't auto-upgrade anything); 0.x readers will continue to work; writers can also be readers and will continue to read both tv=6.
      3. Upgrade table services to 1.x with tv=6, and resume operations. 
      4. Upgrade all remaining readers to 1.x, with tv=6. 
      5. Redeploy writers with tv=8; table services and readers will adapt/pick up tv=8 on the fly. 

      Things to be done during rolling upgrade 

      the 6 to 8 upgrade handler, need to handle the following. 

      • Migrating table properties including key generators, payloads.
      • Migrating timeline to new layout
      • Full compact the table and clean, to get rid of log files? 
      • Migration path for CDC and incremental queries.
      • Handle differences between 0.x and 1.x for stuff needed in upgrade e.g compaction (need to compact older file slice), rollback (marker differences b/w 0.14 and 0.15)

       

       Safe migration protocol : 

      <wip>

       

       Downgrade tooling : 

      <wip>

       

       

      Attachments

        Activity

          People

            codope Sagar Sumit
            codope Sagar Sumit
            Danny Chen
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: