phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chinmay Kulkarni (Jira)" <j...@apache.org>
Subject [jira] [Updated] (PHOENIX-6127) Prevent unnecessary HBase admin API calls in ViewUtil.getSystemTableForChildLinks() and act lazily instead
Date Sat, 12 Sep 2020 00:49:00 GMT

     [ https://issues.apache.org/jira/browse/PHOENIX-6127?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Chinmay Kulkarni updated PHOENIX-6127:
--------------------------------------
    Summary: Prevent unnecessary HBase admin API calls in ViewUtil.getSystemTableForChildLinks()
and act lazily instead  (was: Prevent unnecessary HBase Admin API calls in ViewUtil.getSystemTableForChildLinks()
and act lazily instead)

> 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
>            Priority: Major
>              Labels: phoenix-hardening, quality-improvement
>             Fix For: 5.1.0, 4.16.0
>
>
> 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)

Mime
View raw message