[ https://issues.apache.org/jira/browse/PHOENIX-1812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14701778#comment-14701778 ]
James Taylor commented on PHOENIX-1812: --------------------------------------- The updateResolvedTimestamp should be added to the MetaDataMutated interface which ConnectionQueryServices extends. It's ok to call through to the ConnectionQueryServices when updateResolvedTimestamp is called, as it won't have an impact on open connections (since they have their own copy or the original copy prior to the updateResolvedTimestamp call. When you implement ConnectionQueryServicesImpl.updateResolvedTimestamp(), use the same boilerplate synchronization logic as is in ConnectionQueryServicesImpl.addTable(). > 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-v2.patch, PHOENIX-1812-v3.patch, > PHOENIX-1812-v4-WIP.patch, PHOENIX-1812.patch, 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)