[
https://issues.apache.org/jira/browse/PHOENIX-6142?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17204910#comment-17204910
]
Hadoop QA commented on PHOENIX-6142:
------------------------------------
| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m
0s{color} | {color:blue} Docker mode activated. {color} |
| {color:red}-1{color} | {color:red} patch {color} | {color:red} 0m 8s{color}
| {color:red} PHOENIX-6142 does not apply to master. Rebase required? Wrong
Branch? See
https://yetus.apache.org/documentation/in-progress/precommit-patchnames for
help. {color} |
\\
\\
|| Subsystem || Report/Notes ||
| JIRA Issue | PHOENIX-6142 |
| JIRA Patch URL |
https://issues.apache.org/jira/secure/attachment/13012354/PHOENIX-6142-4.x-v1.patch
|
| Console output |
https://ci-hadoop.apache.org/job/PreCommit-PHOENIX-Build/54/console |
| versions | git=2.17.1 |
| Powered by | Apache Yetus 0.12.0 https://yetus.apache.org |
This message was automatically generated.
> Make DDL operations resilient to orphan parent->child linking rows in
> SYSTEM.CHILD_LINK
> ---------------------------------------------------------------------------------------
>
> Key: PHOENIX-6142
> URL: https://issues.apache.org/jira/browse/PHOENIX-6142
> Project: Phoenix
> Issue Type: Bug
> Affects Versions: 5.0.0, 4.15.0
> Reporter: Chinmay Kulkarni
> Assignee: Chinmay Kulkarni
> Priority: Blocker
> Fix For: 5.1.0, 4.16.0
>
> Attachments: PHOENIX-6142-4.x-v1.patch
>
>
> We are targeting PHOENIX-6141 for 4.17. Until we have it, we should aim at
> making DDL operations resilient to orphan parent->child linking rows. DDL
> operations identified which can fail due to orphan rows are:
> # Any ALTER TABLE ADD/DROP/SET calls on the base table T will fail if there
> are orphan links from T to some already dropped view. This happens because
> the call to
> [MetaDataEndpointImpl.findAllChildViews()|https://github.com/apache/phoenix/blob/fece8e69b9c03c80db7a0801d99e5de31fe15ffa/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataEndpointImpl.java#L2142]
> from
> [MetaDataEndpointImpl.mutateColumn()|https://github.com/apache/phoenix/blob/fece8e69b9c03c80db7a0801d99e5de31fe15ffa/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataEndpointImpl.java#L259]
> fails with a TableNotFoundException.
> # Any DROP TABLE/VIEW call without CASCADE will fail even though there are
> actually no child views since the orphan rows wrongly indicate that there are
> child views.
> # During the upgrade path for UpgradeUtil.syncUpdateCacheFreqAllIndexes(),
> we will just ignore any orphan views (for ex, see
> [this|https://github.com/apache/phoenix/blob/fece8e69b9c03c80db7a0801d99e5de31fe15ffa/phoenix-core/src/main/java/org/apache/phoenix/util/UpgradeUtil.java#L1368-L1374]),
> but the call to UpgradeUtil.upgradeTable() will fail with a
> TableNotFoundException for each orphan view.
> # During a CREATE TABLE/VIEW, we try to drop any views from the previous life
> of that table/view, however we might end up dropping a legitimate view (with
> the same name) which is on another table/view because of this.
> Before dropping any views that we see from a parent->child link, we need to
> ensure that the view is in fact a child view of the same table/view we think
> it is an orphan of.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)