You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Enis Soztutar (JIRA)" <ji...@apache.org> on 2017/05/12 18:51:04 UTC

[jira] [Commented] (PHOENIX-3789) Execute cross region index maintenance calls in postBatchMutateIndispensably

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

Enis Soztutar commented on PHOENIX-3789:
----------------------------------------

bq. This earlier behavior was not scalable.
Fully agreed. We have seen this in a few busy clusters that whole cluster grind to a halt when one particular region server is slow or unresponsive. 
We were discussing this patch internally, because in theory it helps a lot in scaling the index updates. My only concern is that with this patch, we are changing the visibility semantics of the data table update versus index table update. In the original design, the data table update was not visible until the index update was visible. This patch changes the logic completely that data table update is visible without even the index RPCs are scheduled. I do no know enough details to see whether this will be semantically correct in the consistency guarantees with the current design. Are we changing those guarantees safely?  

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