You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "James Taylor (JIRA)" <ji...@apache.org> on 2016/01/19 10:43:39 UTC

[jira] [Comment Edited] (PHOENIX-2478) Rows committed in transaction overlapping index creation are not populated

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

James Taylor edited comment on PHOENIX-2478 at 1/19/16 9:42 AM:
----------------------------------------------------------------

Thanks to test from [~tdsilva], I was able to repro the issue, [~mujtabachohan]. This is the patch. I'll check it in if the unit tests pass.

Please review my fix, [~tdsilva]. There were a few problems in my previous attempt:
- the join code needs to join the txMutations state and the mutations
- the code the updates txMutations wasn't taking into account that there may already be data for the particular table (so in essence, it was only keeping the last batch)
- the method that updates the cache needed to update the table pointed to by the table ref.


was (Author: jamestaylor):
Thanks to test from [~tdsilva], I was able to repro the issue, [~mujtabachohan]. This is the patch. I'll check it in if the unit tests pass.

> Rows committed in transaction overlapping index creation are not populated
> --------------------------------------------------------------------------
>
>                 Key: PHOENIX-2478
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-2478
>             Project: Phoenix
>          Issue Type: Sub-task
>            Reporter: James Taylor
>            Assignee: James Taylor
>             Fix For: 4.7.0
>
>         Attachments: PHOENIX-2478.patch, PHOENIX-2478_addendum.patch, PHOENIX-2478_addendum2.patch, PHOENIX-2478_v2.patch, PHOENIX-2478_v3.patch, PHOENIX-2478_v4.patch
>
>
> For a reproducible case, see IndexIT.testCreateIndexAfterUpsertStarted() and the associated FIXME comments for PHOENIX-2446.
> The case that is failing is when a commit starts before an index exists, but commits after the index build is completed. For transactional data, this is problematic because the index gets a timestamp after the commit of the data table mutation and thus these mutations won't be seen during the commit. Also, when the index is being built, the data hasn't yet been committed and thus won't be part of the initial index build.



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