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