[ 
https://issues.apache.org/jira/browse/HIVE-24259?focusedWorklogId=551251&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-551251
 ]

ASF GitHub Bot logged work on HIVE-24259:
-----------------------------------------

                Author: ASF GitHub Bot
            Created on: 11/Feb/21 10:55
            Start Date: 11/Feb/21 10:55
    Worklog Time Spent: 10m 
      Work Description: ashish-kumar-sharma commented on a change in pull 
request #1610:
URL: https://github.com/apache/hive/pull/1610#discussion_r574408036



##########
File path: 
standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/cache/SharedCache.java
##########
@@ -2187,7 +2139,7 @@ public void addPrimaryKeysToCache(String catName, String 
dbName, String tblName,
       cacheLock.readLock().lock();
       String tblKey = CacheUtils.buildTableKey(catName, dbName, tblName);
       TableWrapper tblWrapper = tableCache.getIfPresent(tblKey);
-      if (tblWrapper != null) {
+      if (tblWrapper != null && tblWrapper.isConstraintsValid()) {

Review comment:
       Q Why do we update cache for each constraint individually? 
   
   Ans - To update the cache for specific constraint for query like "ALTER 
TABLE table_name ADD CONSTRAINT" instead of invalidating the whole cache and 
updating again because that will lead to cache miss or extra network call is 
required to delete and update all cache constraints.
   
   Q We should always cache a single snapshot of constraints of table. If not, 
isConstraintsValid flag wouldn't make sense.
   
   Ans - So if isConstraintsValid is valid that means there is valid copy of 
constraint present then we can add the incoming constraint and save redundant 
call. if isConstraintsValid is false then skip because cached constraint are 
inaccessible and waiting for refreshed




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
-------------------

    Worklog Id:     (was: 551251)
    Time Spent: 3h 10m  (was: 3h)

> [CachedStore] Optimise get constraints call by removing redundant table check 
> ------------------------------------------------------------------------------
>
>                 Key: HIVE-24259
>                 URL: https://issues.apache.org/jira/browse/HIVE-24259
>             Project: Hive
>          Issue Type: Sub-task
>            Reporter: Ashish Sharma
>            Assignee: Ashish Sharma
>            Priority: Minor
>              Labels: pull-request-available
>          Time Spent: 3h 10m
>  Remaining Estimate: 0h
>
> Description -
> Problem - 
> 1. Redundant check if table is present or not
> 2. Currently in order to get all constraint form the cachedstore. 6 different 
> call is made with in the cached store. Which led to 6 different call to raw 
> store
>  
> DOD
> 1. Check only once if table exit in cached store.
> 2. Instead of calling individual constraint in cached store. Add a method 
> which return all constraint at once and if data is not consistent then fall 
> back to rawstore.  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to