[ 
https://issues.apache.org/jira/browse/PHOENIX-3823?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16033210#comment-16033210
 ] 

James Taylor commented on PHOENIX-3823:
---------------------------------------

Thanks for the updated patch, [~sukuna...@gmail.com]. One very minor nit and 
then I think we can commit this:
- Let's move this logic into the constructor of BaseColumnResolver and just 
store mutatingTableName as the member variable instead of mutatingTable.
{code}
+                if(mutatingTable!=null && tableNode!=null ){
+                  String mutateSchemaName = 
mutatingTable.getSchemaName()==null?null:
+                                              
mutatingTable.getSchemaName().getString();
+                  String mutateTableName = 
mutatingTable.getTableName().getString();
+                  TableName mutatingTableName = 
TableName.create(mutateSchemaName, mutateTableName);
+                  if(tableNode.getName().equals(mutatingTableName)){
+                    alwaysHitServer = true;
+                  }
+                }
{code}

I'll commit other patches on PHOENIX-3819 too - would you mind just confirming 
they all still apply cleanly?

> Force cache update on MetaDataEntityNotFoundException 
> ------------------------------------------------------
>
>                 Key: PHOENIX-3823
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-3823
>             Project: Phoenix
>          Issue Type: Sub-task
>    Affects Versions: 4.10.0
>            Reporter: James Taylor
>            Assignee: Maddineni Sukumar
>             Fix For: 4.11.0
>
>         Attachments: PHOENIX-3823.patch, PHOENIX-3823.v2.patch, 
> PHOENIX-3823.v3.patch, PHOENIX-3823.v4.patch, PHOENIX-3823.v5.patch, 
> PHOENIX-3823.v6.patch, PHOENIX-3823.v7.patch
>
>
> When UPDATE_CACHE_FREQUENCY is used, clients will cache metadata for a period 
> of time which may cause the schema being used to become stale. If another 
> client adds a column or a new table or view, other clients won't see it. As a 
> result, the client will get a MetaDataEntityNotFoundException. Instead of 
> bubbling this up, we should retry after forcing a cache update on the tables 
> involved in the query.
> The above works well for references to entities that don't yet exist. 
> However, we cannot detect when some entities are referred to which no longer 
> exists until the cache expires. An exception is if a physical table is 
> dropped which would be detected immediately, however we would allow queries 
> and updates to columns which have been dropped until the cache entry expires 
> (which seems like a reasonable tradeoff IMHO. In addition, we won't start 
> using indexes on tables until the cache expires.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to