[
https://issues.apache.org/jira/browse/PHOENIX-6086?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17241785#comment-17241785
]
Chinmay Kulkarni commented on PHOENIX-6086:
-------------------------------------------
[~vjasani] I think it is best if we do not restore any of the snapshots
automatically, so yes, logging sounds like a good alternative. We already
follow a naming convention for the snapshots taken so finding them should not
be too hard for an operator. I agree that adding functionality to "get" the
snapshot names is overkill for this. We should document this in the release
notes as well as on the website (perhaps in some "Operator FAQ" section) since
such a section is useful in general as well.
Re-opening this Jira so we can incorporate the logging changes instead. Thanks.
> 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)