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