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

James Taylor commented on PHOENIX-3789:
---------------------------------------

I think it's ok and not terribly different than before. If you think about it 
from the client's perspective where a batch of say 100 rows are submitted. 
These will get distributed out to various RSs and become visible at different 
points regardless of what we do (unless the table is transactional). Also, even 
before, there's a small window where the updates are visible in the index prior 
to being visible in the data table. That particular gap no longer exists.

The alternative, scalability issues under load bringing down your cluster are 
far worse.

IMHO, if a user wants stronger consistency guarantees, the can use:
* transactional tables (strongest guarantee)
* local indexes (row atomic with PHOENIX-3827 and HBase 1.3)

We're doing a fair amount of testing and fixes to make local indexes work which 
we hope to have complete for 4.11 (and appreciate the help we're getting from 
[~rajeshbabu]).


> Execute cross region index maintenance calls in postBatchMutateIndispensably
> ----------------------------------------------------------------------------
>
>                 Key: PHOENIX-3789
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-3789
>             Project: Phoenix
>          Issue Type: Bug
>            Reporter: James Taylor
>            Assignee: James Taylor
>             Fix For: 4.11.0
>
>         Attachments: PHOENIX-3789_addendum1.patch, 
> PHOENIX-3789_addendum2.patch, PHOENIX-3789.patch, PHOENIX-3789_v2.patch
>
>
> Making cross region server calls while the row is locked can lead to a 
> greater chance of resource starvation. We can use the 
> postBatchMutateIndispensably hook instead of the postBatchMutate call for our 
> processing.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to