[
https://issues.apache.org/jira/browse/PHOENIX-1835?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14704062#comment-14704062
]
Thomas D'Silva commented on PHOENIX-1835:
-----------------------------------------
I discussed this offline with @James Taylor and we decided this is not required.
> Adjust MetaDataEndPointImpl timestamps if table is transactional
> ----------------------------------------------------------------
>
> Key: PHOENIX-1835
> URL: https://issues.apache.org/jira/browse/PHOENIX-1835
> Project: Phoenix
> Issue Type: Sub-task
> Reporter: James Taylor
> Assignee: Thomas D'Silva
>
> Phoenix correlates table metadata with the table data based on timestamp.
> Since Tephra is adjusting timestamps for the data, we need to do the same for
> the metadata operations (which aren't transactional through Tephra). Take a
> look at MetaDataEndPointImpl and the MetaDataMutationResult where we return
> the server timestamp (i.e. MetaDataMutationResult.getTable() for example).
> This timestamp should be run through the TransactionUtil.translateTimestamp()
> method).
> Add a point-in-time test with a table being altered, but your connection
> being before that time (with CURRENT_SCN) as a test. We'll need to make sure
> the Puts to the SYSTEM.CATALOG get timestamped correctly (but I think the
> above will cause that).
> Also, my other hack in PostDDLCompiler, should not be necessary after this:
> {code}
> // FIXME: DDL operations aren't transactional, so
> we're basing the timestamp on a server timestamp.
> // Not sure what the fix should be. We don't need
> conflict detection nor filtering of invalid transactions
> // in this case, so maybe this is ok.
> if (tableRef.getTable().isTransactional()) {
> ts = TransactionUtil.translateMillis(ts);
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)