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

Thomas D'Silva commented on PHOENIX-1812:
-----------------------------------------

[~jamestaylor]

Previously in PhoenixConnection.updateResolvedTimestamp we didn't call 
ConnectionQueryServices.updateResolvedTimestamp, because this is shared across 
connections. 

{code}
    @Override
    public PMetaData updateResolvedTimestamp(PTable table, long resolvedTime) 
throws SQLException {
        metaData = metaData.updateResolvedTimestamp(table, resolvedTime);
        return metaData;
    }
{code}


ConnectionQueryServicesImpl does not currently implement 
updateResolvedTimestamp.

{code}
    public PMetaData updateResolvedTimestamp(PTable table, long 
resolvedTimestamp) throws SQLException {
        throw new UnsupportedOperationException();
    }
{code}

Should I implement the above method and call it from 
PhoenixConnection.updateResolvedTimestamp ?

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

Reply via email to