Uploaded image for project: 'Phoenix'
  1. Phoenix
  2. PHOENIX-6035

Extend phoenix.allow.system.catalog.rollback or introduce a new config to completely rollback changes introduced by Splittable SYSTEM.CATALOG

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Critical
    • Resolution: Unresolved
    • 5.0.0, 4.15.0
    • 4.17.0, 4.16.2
    • None
    • None

    Description

      Currently, https://issues.apache.org/jira/browse/PHOENIX-3534 just makes sure that SYSTEM.CATALOG does not split and continues writing parent column metadata with view metadata. Clients that want 4.15/4.x features without needing SYSTEM.CATALOG to be splittable can already just provide phoenix.system.catalog.splittable=false. We should extend the phoenix.allow.system.catalog.rollback config so that when it is true, it will include the following:

      • Continue writing parent->child links to SYSTEM.CATALOG instead of using SYSTEM.CHILD_LINK
      • Not use SYSTEM.TASK for dropping child views but directly issue the drop view commands since SYSTEM.CATALOG is on a single region anyways
      • In the upgrade path for 4.16, if this config is on, we will have to reliably also do the following:
      1. Move all parent->child links from SYSTEM.CHILD_LINK to SYSTEM.CATALOG
      2. Clean the SYSTEM.TASK table and execute all unscheduled DropChildViewsTask tasks

      Basically, for a 4.15 client with phoenix.allow.system.catalog.rollback=true, at the end of their upgrade to 4.16, the SYSTEM.CHILD_LINK table should be empty and unused henceforth and the SYSTEM.TASK table should not contain any DropChildViewsTask tasks and should be unused for the purpose of DROP TABLE/VIEW <parent table/view name> CASCADE DDLs henceforth.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              ckulkarni Chinmay Kulkarni
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated: