[
https://issues.apache.org/jira/browse/PHOENIX-6035?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17163087#comment-17163087
]
Chinmay Kulkarni commented on PHOENIX-6035:
-------------------------------------------
Note that for users already on 4.15 with rollback disabled upgrading to 4.x,
this change will have no effect since we don't allow setting this config back
to true (perhaps we should block doing this via code too).
For pre-4.15 users directly upgrading to 4.x, this change will make it look
like they got all the features of 4.x, without metadata changes introduced from
[PHOENIX-3534|https://issues.apache.org/jira/browse/PHOENIX-3534].
We may need to reintroduce some old code in order to support this, but we
cannot safely rollback splittable SYSTEM.CATALOG without these changes either,
so I believe it is worth it.
FYI [~yanxinyi] [~sukumaddineni] [~jisaac] [~tdsilva]
> Extend phoenix.allow.system.catalog.rollback to completely rollback changes
> introduced by Splittable SYSTEM.CATALOG
> -------------------------------------------------------------------------------------------------------------------
>
> Key: PHOENIX-6035
> URL: https://issues.apache.org/jira/browse/PHOENIX-6035
> Project: Phoenix
> Issue Type: Improvement
> Affects Versions: 5.0.0, 4.15.0
> Reporter: Chinmay Kulkarni
> Priority: Critical
> Fix For: 5.1.0, 4.16.0
>
>
> 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:
> # Move all parent->child links from SYSTEM.CHILD_LINK to SYSTEM.CATALOG
> # 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.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)