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

ASF GitHub Bot updated HIVE-30215:
----------------------------------
    Labels: pull-request-available  (was: )

> HS2 HMS cache: every partition and statistics lookup of a non-transactional 
> table costs an extra get_table call
> ---------------------------------------------------------------------------------------------------------------
>
>                 Key: HIVE-30215
>                 URL: https://issues.apache.org/jira/browse/HIVE-30215
>             Project: Hive
>          Issue Type: Improvement
>            Reporter: Denys Kuzmenko
>            Priority: Major
>              Labels: pull-request-available
>
> HiveMetaStoreClientWithLocalCache keys its entries on a 
> TableWatermark(validWriteIdList, tableId), and isValid() requires a non-null 
> write-id list. A non-transactional table therefore can never be cached. Six 
> call sites (listPartitionsByExpr, getPartitionsSpecByExpr, 
> getAggrColStatsFor, getPartitionsByNames, listPartitionNames, 
> getTableColumnStatistics) fetch the table id first and test validity 
> afterwards. This client sits inside the query-level cache 
> (Hive.createMetaStoreClient), so each such getTable is a metastore round-trip 
> made only to find out that nothing can be cached.                             
>                                                                               
>                                                            
>                                                                               
>                                                                               
>                                  
> On a TPC-DS 1 TB run on external Parquet tables, 9,356 of 16,111 get_table 
> calls came immediately before one of these sites. That is about 0.23 s of 
> compile per query, ~23 s per 99-query



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to