[
https://issues.apache.org/jira/browse/PHOENIX-6035?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Chinmay Kulkarni updated PHOENIX-6035:
--------------------------------------
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:
# 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.
was:
Currently, phoenix.allow.system.catalog.rollback=true 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 tasks
> 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)