[
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)