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

James Taylor commented on PHOENIX-1812:
---------------------------------------

What do you think, [~maryannxue]? Did you try this, [~tdsilva]? Seems a bit odd 
to check the select statement for equality.
{code}
-            context.setResolver(FromCompiler.getResolverForQuery(select, 
this.statement.getConnection()));
+               // if select statement is the same just use the original 
resolver 
+               if (innerPlan == null && 
tableRef.equals(resolver.getTables().get(0))) {
+                       context.setResolver(this.resolver);
+               }
+               else {
+                       
context.setResolver(FromCompiler.getResolverForQuery(select, 
this.statement.getConnection()));
+               }
{code}


> Only sync table metadata when necessary
> ---------------------------------------
>
>                 Key: PHOENIX-1812
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-1812
>             Project: Phoenix
>          Issue Type: Sub-task
>            Reporter: James Taylor
>            Assignee: Thomas D'Silva
>         Attachments: PHOENIX-1812.patch, PHOENIX-1812.patch
>
>
> With transactions, we hold the timestamp at the point when the transaction 
> was opened. We can prevent the MetaDataEndpoint getTable RPC in 
> MetaDataClient.updateCache() to check that the client has the latest table if 
> we've already checked at the current transaction ID timestamp. We can keep 
> track of which tables we've already updated in PhoenixConnection.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to