phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chinmay Kulkarni (Jira)" <j...@apache.org>
Subject [jira] [Reopened] (PHOENIX-6086) Take a snapshot of all SYSTEM tables before attempting to upgrade them
Date Tue, 01 Dec 2020 18:47:00 GMT

     [ https://issues.apache.org/jira/browse/PHOENIX-6086?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Chinmay Kulkarni reopened PHOENIX-6086:
---------------------------------------

> Take a snapshot of all SYSTEM tables before attempting to upgrade them
> ----------------------------------------------------------------------
>
>                 Key: PHOENIX-6086
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-6086
>             Project: Phoenix
>          Issue Type: Improvement
>    Affects Versions: 5.0.0, 4.15.0
>            Reporter: Chinmay Kulkarni
>            Assignee: Viraj Jasani
>            Priority: Critical
>             Fix For: 5.1.0, 4.16.0
>
>         Attachments: PHOENIX-6086.4.x.000.patch, PHOENIX-6086.master.000.patch, PHOENIX-6086.master.002.patch,
PHOENIX-6086.master.003.patch
>
>
> Currently we only take a snapshot of SYSTEM.CATALOG before attempting to upgrade it (see
[this|https://github.com/apache/phoenix/blob/1922895dfe5960dc025709b04acfaf974d3959dc/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java#L3718]).
From 4.15 onwards we also store critical metadata information in other SYSTEM tables like
SYSTEM.CHILD_LINK, so it is beneficial to also snapshot those tables before upgrading them
henceforth.
> We also currently don't take a snapshot of SYSTEM.CATALOG on receiving an [UpgradeRequiredException|https://github.com/apache/phoenix/blob/1922895dfe5960dc025709b04acfaf974d3959dc/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java#L3685-L3707]
which we should do.
> In case of any errors during the upgrade, we restore SYSTEM.CATALOG from this snapshot
and we should extend this to all tables. In cases where the table didn't exist before the
upgrade, we need to ensure it is dropped so that a subsequent upgrade attempt can start afresh.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Mime
View raw message