[
https://issues.apache.org/jira/browse/PHOENIX-6127?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17236246#comment-17236246
]
ASF GitHub Bot commented on PHOENIX-6127:
-----------------------------------------
richardantal commented on pull request #944:
URL: https://github.com/apache/phoenix/pull/944#issuecomment-731246068
Thx @gjacoby126 for the review!
You are right, the only difference between the 2 dropChildViews functions
should be that one will try lazily.
(The original function was edited simultaneously and I did not realise it,
and failed to rebase well.)
The original one was used after an HBase admin call but I get rid of it.
I have added a small commentary to the functions and created a common part
which should be the same in both functions.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
> Prevent unnecessary HBase admin API calls in
> ViewUtil.getSystemTableForChildLinks() and act lazily instead
> ----------------------------------------------------------------------------------------------------------
>
> Key: PHOENIX-6127
> URL: https://issues.apache.org/jira/browse/PHOENIX-6127
> Project: Phoenix
> Issue Type: Improvement
> Affects Versions: 5.0.0, 4.15.0
> Reporter: Chinmay Kulkarni
> Assignee: Richard Antal
> Priority: Major
> Labels: phoenix-hardening, quality-improvement
> Fix For: 5.1.0, 4.16.0
>
> Attachments: PHOENIX-6127.master.v1.patch
>
>
> In order to handle the case of older clients connecting to a 4.16 cluster
> that has old metadata (no SYSTEM.CHILD_LINK table yet), we call
> ViewUtil.getSystemTableForChildLinks() to figure out whether to use
> SYSTEM.CHILD_LINK or SYSTEM.CATALOG to look up parent->child linking rows.
> Here we do HBase table existence checks using HBase admin APIs (see
> [this|https://github.com/apache/phoenix/blob/e3c7b4bdce2524eb4fd1e7eb0ccd3454fcca81ce/phoenix-core/src/main/java/org/apache/phoenix/util/ViewUtil.java#L265-L269])
> which can be avoided. In almost all cases once we've called this API, we
> later go on and retrieve the Table object anyhow so we can instead try to
> always get the SYSTEM.CHILD_LINK table and if that fails, try to get
> SYSTEM.CATALOG. This will avoid additional admin API calls.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)