[ 
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)

Reply via email to