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

Poorna Chandra commented on PHOENIX-2478:
-----------------------------------------

bq. Poorna Chandra - would be much appreciated if you could review this, in 
particular the MutationState.commitWriteFence() and 
MutationState.addReadFence() to make sure I'm using the APIs correctly.
The usage of Visibility Fence in PHOENIX-2478_v4.patch looks fine to me. Just 
one question - what happens when fence await throws {{TimeoutException}}? Is 
the index build aborted?

bq. Minor nit: it'd be nice if VisibilityFence.prepareWait() didn't start a new 
transaction as that's not necessary in our case.
Are you saying that {{VisibilityFence.prepareWait()}} can use an existing 
transaction started by the calling code? If so, caller will have to take over 
handling re-tries, right?

bq. Also, it feels like the VisibilityFence feature would benefit from having 
something like the ability to do an autonomous transaction to establish the 
WriteFence. We really want to add a write barrier at the next possible non 
conflicting timestamp, something that seems like would be possible with a new 
TransactionManager API.
I agree. Filed https://issues.cask.co/browse/TEPHRA-166 and 
https://issues.cask.co/browse/TEPHRA-167 for this.


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

Reply via email to