[
https://issues.apache.org/jira/browse/PHOENIX-6127?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ankit Singhal updated PHOENIX-6127:
-----------------------------------
Fix Version/s: (was: 4.16.0)
(was: 5.1.0)
4.17.0
> 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: Richárd Antal
> Priority: Major
> Labels: phoenix-hardening, quality-improvement
> Fix For: 4.17.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)