phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Thomas D'Silva (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (PHOENIX-1812) Only sync table metadata when necessary
Date Tue, 18 Aug 2015 18:30:47 GMT

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

Thomas D'Silva edited comment on PHOENIX-1812 at 8/18/15 6:30 PM:
------------------------------------------------------------------

[~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
?

I have attached a WIP patch.


was (Author: tdsilva):
[~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-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)

Mime
View raw message