Uploaded image for project: 'Phoenix'
  1. Phoenix
  2. PHOENIX-6127

Prevent unnecessary HBase admin API calls in ViewUtil.getSystemTableForChildLinks() and act lazily instead

    XMLWordPrintableJSON

Details

    Description

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

      Attachments

        1. PHOENIX-6127.master.v1.patch
          12 kB
          Richárd Antal

        Issue Links

          Activity

            People

              richardantal Richárd Antal
              ckulkarni Chinmay Kulkarni
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated: