Soumyakanti Das created HIVE-28094:
--------------------------------------

             Summary: Improve HMS client and query caching performance for 
getTableInternal
                 Key: HIVE-28094
                 URL: https://issues.apache.org/jira/browse/HIVE-28094
             Project: Hive
          Issue Type: Improvement
          Components: Hive
    Affects Versions: 4.0.0-beta-1
            Reporter: Soumyakanti Das
            Assignee: Soumyakanti Das


Currently we cache calls to {{getTableInternal}} method in HMS client cache and 
query cache. We also cache table ids in the query cache, but not in the HMS 
client cache.

 

To cache {{{}getTableInternal{}}}, we create a CacheKey containing the 
{{GetTableRequest}} object. However, we do not check if all the necessary 
fields are set in the key. This results in a lot of cache misses, especially 
because we rely on {{validWriteIdList}} not being null and {{tableId}} not 
being -1. {{GetTableRequest}} object also contains `catName` which is not 
always set. All these things result in creating duplicate keys and not using 
the caches efficiently.

 

Moreover, {{getTableInternal}} is called from other APIs that are getting 
cached, e.g. {{getPartitionsByExprInternal}}, so improvements in its 
performance will positively affect other APIs too.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to