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

James Taylor commented on PHOENIX-2605:
---------------------------------------

Yes, but it's not for efficiency, but for correctness. The index population 
does not do incremental maintenance. It only adds new index rows based on the 
current rows in the data table. It doesn't remove the index row associated with 
the old row. If the timestamp is not held back to a past time, then the index 
population might be overwriting index rows that have subsequently been changed 
by later updates to the data table.

If we're setting the timestamp back to the index creation time, but doing a 
scan at a later time for the initial index population, that might be ok since 
we're not supporting flashback queries for transactional tables. I can't come 
up with a concrete example where this would cause a problem outside of 
flashback queries. You'd potentially end up with two versions of an index row - 
one with an earlier ts that was added by the initial index population and a 
second one with a later ts that was added during incremental maintenance.


> Enhance IndexToolIT to test transactional tables
> ------------------------------------------------
>
>                 Key: PHOENIX-2605
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-2605
>             Project: Phoenix
>          Issue Type: Test
>            Reporter: Thomas D'Silva
>            Assignee: Thomas D'Silva
>             Fix For: 4.7.0
>
>         Attachments: PHOENIX-2605.patch
>
>




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to