[ https://issues.apache.org/jira/browse/PHOENIX-6086?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Viraj Jasani updated PHOENIX-6086: ---------------------------------- Attachment: PHOENIX-6086.master.002.patch > 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.master.000.patch, > PHOENIX-6086.master.002.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)