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 2015/04/08 19:59:13 UTC

[jira] [Comment Edited] (PHOENIX-1126) Make local index updates transactional with the data updates

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

James Taylor edited comment on PHOENIX-1126 at 4/8/15 5:58 PM:
---------------------------------------------------------------

bq. Where is the refactor of local index so they are a column family inside the data region? That would be best way to get transactional updates IMO.
I agree with this. This JIRA would be a stopgap until that work is complete and would only make sense IMHO if 1) it doesn't require any funky/controversial HBase changes (ideally none), and 2) it's easy. The reason I'm exploring this is because we're interested initially in having transactions for data rows plus their index updates. It's difficult for a client to reason over the state of the data when you put secondary indexes in the mix under failure scenarios. If this JIRA is easy and can get us there immediately (it's my understand that Rajeshbabu has already implemented this in his HIndex implementation), this might be a good interim solution.


was (Author: jamestaylor):
bq. Where is the refactor of local index so they are a column family inside the data region? That would be best way to get transactional updates IMO.
I agree with this. This JIRA would be a stopgap until that work is complete and would only make sense IMHO if 1) it doesn't require any funky/controversial HBase changes, and 2) it's easy. The reason I'm exploring this is because we're interested initially in having transactions for data rows plus their index updates. It's difficult for a client to reason over the state of the data when you put secondary indexes in the mix under failure scenarios. If this JIRA is easy and can get us there immediately (it's my understand that Rajeshbabu has already implemented this in his HIndex implementation), this might be a good interim solution.

> Make local index updates transactional with the data updates
> ------------------------------------------------------------
>
>                 Key: PHOENIX-1126
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-1126
>             Project: Phoenix
>          Issue Type: Sub-task
>            Reporter: James Taylor
>            Assignee: rajeshbabu
>
> Given that local index updates happen on the same region server as the data updates, we should be able to make them transaction: either both the data and index updates succeed, or neither of them do. I seem to remember [~lhofhansl] mentioned that the all or none behavior of HRegion.mutateRowsWithLocks() could be emulated across tables if you knew that the mutations were all local.



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