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

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

bq. Are there Phoenix features (or client features using Phoenix) that we know 
of that assume atomicity between the row update and the index update?
[~gjacoby] - there is no atomicity guarantee we can make between index row and 
data table updates (unless client uses transactions). We do have to notify 
client (through an exception) if the index update fails. We'll still do that 
with this change, though.

No need to make updates under row lock - it was done this way because this hook 
that runs outside the row lock didn't exist before (or we didn't know about 
it). Local indexes (from HBase 1.3 and above) will take advantage of a new API 
to ensure that both data table row and index row are updated atomically.

> Execute cross region index maintenance calls outside of row lock
> ----------------------------------------------------------------
>
>                 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, 4.10.1
>
>         Attachments: 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